@font-face {
  font-family: "Inter";
  src: url("../assets/fonts/inter-v20-latin-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("../assets/fonts/inter-v20-latin-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --aranur-blue: #004580;
  --aranur-blue-dark: #082b4a;
  --aranur-blue-soft: #dfeaf3;
  --aranur-fuchsia: #e3007b;
  --aranur-fuchsia-dark: #a9005d;
  --aranur-gray-900: #182033;
  --aranur-gray-700: #475569;
  --aranur-gray-300: #d7dde5;
  --aranur-gray-100: #f4f6f8;

  --bs-primary: var(--aranur-blue);
  --bs-primary-rgb: 0, 69, 128;
  --bs-danger: var(--aranur-fuchsia);
  --bs-danger-rgb: 227, 0, 123;
  --bs-body-font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bs-body-color: var(--aranur-gray-900);
  --bs-link-color: var(--aranur-blue);
  --bs-link-hover-color: var(--aranur-fuchsia-dark);
}

html {
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
  background: #fff;
}

a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--aranur-fuchsia);
  outline-offset: 3px;
}

/* Top bar */
.pulse-indicator {
  position: relative;
  display: inline-flex;
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
}

.pulse-ring,
.pulse-dot {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: var(--aranur-fuchsia);
}

.pulse-ring {
  animation: pulse-ring 1.7s cubic-bezier(0, 0, .2, 1) infinite;
  opacity: .65;
}

.pulse-dot {
  inset: 2px;
}

@keyframes pulse-ring {
  75%,
  100% {
    transform: scale(2.8);
    opacity: 0;
  }
}

/* Header */
.brand-logo {
  max-height: 58px;
  object-fit: contain;
}

.brand-partner {
  color: var(--aranur-fuchsia-dark);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.navbar .nav-link {
  color: #3f4858;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus {
  color: var(--aranur-fuchsia-dark);
}

.dropdown-menu {
  min-width: 320px;
  border: 1px solid #e6e9ee;
}

.dropdown-item {
  white-space: normal;
}

/* Hero: lighter, only corporate blue, fuchsia and grays */
.hero {
  min-height: 560px;
  background: var(--aranur-gray-100);
}

.hero-row {
  min-height: 560px;
  padding-block: 3.5rem;
}

.hero-image {
  object-position: center;
  opacity: .58;
}

.hero-overlay {
  background:
    linear-gradient(
      90deg,
      rgba(244, 246, 248, .98) 0%,
      rgba(244, 246, 248, .93) 42%,
      rgba(223, 234, 243, .72) 72%,
      rgba(0, 69, 128, .34) 100%
    );
}

.hero-badge {
  color: var(--aranur-fuchsia-dark) !important;
  background-color: rgba(255, 255, 255, .78) !important;
  border-color: rgba(227, 0, 123, .35) !important;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hero-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: var(--aranur-fuchsia);
  box-shadow: 0 0 0 5px rgba(227, 0, 123, .12);
}

.hero h1 {
  max-width: 790px;
  color: var(--aranur-blue-dark) !important;
  font-size: clamp(2.35rem, 4.6vw, 4rem);
  line-height: 1.08;
}

.hero-lead {
  max-width: 720px;
  color: var(--aranur-gray-700) !important;
}

.hero hr {
  border-color: rgba(8, 43, 74, .18) !important;
}

.hero .text-white,
.hero .text-white-50 {
  color: var(--aranur-blue-dark) !important;
}

.hero .text-white-50 {
  opacity: .68;
}

.btn-corporate {
  color: #fff;
  background-color: var(--aranur-fuchsia);
  border-color: var(--aranur-fuchsia);
  font-weight: 700;
}

.btn-corporate:hover,
.btn-corporate:focus {
  color: #fff;
  background-color: var(--aranur-fuchsia-dark);
  border-color: var(--aranur-fuchsia-dark);
}

.hero .btn-outline-light {
  color: var(--aranur-blue-dark);
  background: rgba(255, 255, 255, .55);
  border-color: var(--aranur-blue-dark);
}

.hero .btn-outline-light:hover,
.hero .btn-outline-light:focus {
  color: #fff;
  background: var(--aranur-blue-dark);
  border-color: var(--aranur-blue-dark);
}

/* SAT strip: blue + fuchsia only */
.sat-strip {
  background:
    linear-gradient(
      90deg,
      var(--aranur-blue-dark) 0%,
      var(--aranur-blue) 55%,
      var(--aranur-fuchsia-dark) 100%
    );
}

.sat-icon {
  width: 54px;
  height: 54px;
  font-size: 1.45rem;
  background-color: rgba(255, 255, 255, .09);
}

.text-fuchsia {
  color: var(--aranur-fuchsia-dark) !important;
}

.certification-logo {
  width: 96px;
  max-height: 60px;
  object-fit: contain;
  flex: 0 0 96px;
}

@media (max-width: 991.98px) {
  .hero,
  .hero-row {
    min-height: 540px;
  }

  .hero-image {
    object-position: 68% center;
  }

  .hero-overlay {
    background: rgba(244, 246, 248, .88);
  }

  .navbar-collapse {
    padding-top: 1rem;
  }

  .dropdown-menu {
    min-width: 100%;
  }
}

@media (max-width: 575.98px) {
  .hero,
  .hero-row {
    min-height: 500px;
  }

  .hero-row {
    padding-block: 2.75rem;
  }

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

  .sat-icon {
    width: 48px;
    height: 48px;
  }
}

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

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}


/* Servicios y suministros técnicos */
.services-heading {
  max-width: 760px;
}

.service-card {
  overflow: hidden;
  transition:
    transform .2s ease,
    box-shadow .2s ease;
}

.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 1rem 2.2rem rgba(8, 43, 74, .13) !important;
}

.service-card-image {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.service-card .card-body {
  min-height: 300px;
}

.service-card .badge {
  color: var(--aranur-blue-dark) !important;
  background: var(--aranur-gray-100) !important;
  border-color: var(--aranur-gray-300) !important;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.service-card .btn-outline-primary {
  color: var(--aranur-blue);
  border-color: var(--aranur-blue);
  font-weight: 700;
}

.service-card .btn-outline-primary:hover,
.service-card .btn-outline-primary:focus {
  color: #fff;
  background-color: var(--aranur-blue);
  border-color: var(--aranur-blue);
}

@media (max-width: 575.98px) {
  .service-card-image {
    height: 205px;
  }

  .service-card .card-body {
    min-height: auto;
  }
}


/* Encabezados compartidos */
.section-heading {
  max-width: 800px;
}

/* Alianzas tecnológicas */
.alliance-card {
  transition:
    transform .2s ease,
    box-shadow .2s ease;
}

.alliance-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 1rem 2.1rem rgba(8, 43, 74, .12) !important;
}

.alliance-logo {
  width: 100%;
  max-width: 170px;
  max-height: 90px;
  object-fit: contain;
}

.alliance-card .badge {
  color: var(--aranur-blue-dark) !important;
  background: var(--aranur-gray-100) !important;
  border-color: var(--aranur-gray-300) !important;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.alliance-card .btn-outline-primary {
  font-weight: 700;
}

/* Razones para confiar */
.trust-card {
  background: rgba(255, 255, 255, .68);
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease;
}

.trust-card:hover {
  transform: translateY(-4px);
  border-color: rgba(227, 0, 123, .3) !important;
  box-shadow: 0 .9rem 1.8rem rgba(8, 43, 74, .09);
}

.trust-icon {
  width: 48px;
  height: 48px;
  color: var(--aranur-blue-dark);
}

.trust-icon svg {
  width: 25px;
  height: 25px;
}

/* CTA */
.cta-card {
  overflow: hidden;
  background:
    linear-gradient(
      120deg,
      var(--aranur-blue-dark) 0%,
      var(--aranur-blue) 68%,
      var(--aranur-fuchsia-dark) 100%
    );
}

.cta-card .card-body {
  position: relative;
  z-index: 1;
}

.cta-eyebrow {
  color: #f6b6d9;
  letter-spacing: .08em;
}

.cta-title {
  max-width: 820px;
}

.cta-lead {
  max-width: 760px;
}

@media (max-width: 575.98px) {
  .alliance-card .ratio {
    max-width: 180px;
    margin-inline: auto;
  }

  .cta-card {
    border-radius: .5rem;
  }
}


/* Bloques editoriales: por qué confiar en Aranur */
.trust-feature {
  min-height: 520px;
  transition:
    transform .2s ease,
    box-shadow .2s ease;
}

.trust-feature:hover {
  transform: translateY(-3px);
  box-shadow: 0 1rem 2.25rem rgba(8, 43, 74, .11) !important;
}

.trust-feature-image {
  min-height: 520px;
  object-position: center;
}

.trust-feature h3 {
  color: var(--aranur-blue-dark);
}

.trust-feature hr {
  border-color: rgba(8, 43, 74, .14);
  opacity: 1;
}

@media (max-width: 991.98px) {
  .trust-feature {
    min-height: auto;
  }

  .trust-feature-image {
    min-height: 360px;
    max-height: 420px;
  }
}

@media (max-width: 575.98px) {
  .trust-feature-image {
    min-height: 260px;
    max-height: 300px;
  }
}


/* ================================================================
   AJUSTES DE DIRECCIÓN DE ARTE
   ================================================================ */

/* Evitar el azul eléctrico predeterminado de Bootstrap */
.text-primary,
.link-primary {
  color: var(--aranur-blue) !important;
}

.bg-primary {
  background-color: var(--aranur-blue) !important;
}

.border-primary {
  border-color: var(--aranur-blue) !important;
}

.btn-primary {
  color: #fff !important;
  background-color: var(--aranur-blue) !important;
  border-color: var(--aranur-blue) !important;
}

.btn-primary:hover,
.btn-primary:focus {
  color: #fff !important;
  background-color: var(--aranur-blue-dark) !important;
  border-color: var(--aranur-blue-dark) !important;
}

.btn-outline-primary {
  color: var(--aranur-blue) !important;
  background-color: transparent !important;
  border-color: var(--aranur-blue) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  color: #fff !important;
  background-color: var(--aranur-blue) !important;
  border-color: var(--aranur-blue) !important;
}

/* Cards y botones: geometría recta, sin sombras.
   Los badges conservan su forma redondeada. */
.card,
.btn {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.card:hover,
.service-card:hover,
.alliance-card:hover,
.trust-card:hover,
.trust-feature:hover {
  transform: none !important;
  box-shadow: none !important;
}

.badge {
  border-radius: 999px !important;
}

/* Menú desplegable más limpio */
.dropdown-menu .dropdown-item strong {
  color: var(--aranur-blue-dark);
}

.dropdown-menu .dropdown-item {
  padding-block: .75rem;
}

/* Furgoneta SAT: blanca, más grande y sin caja */
.sat-icon {
  width: 72px;
  height: 64px;
  color: #fff;
  background: transparent;
  flex: 0 0 72px;
}

.sat-icon svg {
  width: 52px;
  height: 52px;
}

/* Valor diferencial a ancho completo y sin espacio entre filas */
.trust-section {
  overflow: hidden;
}

.trust-section .section-heading {
  max-width: 850px;
}

.trust-feature {
  min-height: 560px;
  margin: 0;
  border: 0;
}

.trust-feature + .trust-feature {
  margin-top: 0;
}

.trust-feature-image {
  display: block;
  width: 100%;
  min-height: 560px;
  object-position: center;
}

.trust-content {
  width: 100%;
  max-width: 650px;
  margin-inline: auto;
}

.trust-content h3 {
  color: var(--aranur-blue-dark);
}

/* Quitar radios residuales en bloques visuales, excepto badges */
.service-card,
.alliance-card,
.cta-card,
.footer-cert-card,
.trust-feature,
.service-card-image {
  border-radius: 0 !important;
}

@media (max-width: 991.98px) {
  .trust-feature {
    min-height: auto;
  }

  .trust-feature-image {
    min-height: 390px;
    max-height: 460px;
  }

  .trust-content {
    max-width: none;
  }
}

@media (max-width: 575.98px) {
  .sat-icon {
    width: 60px;
    height: 56px;
    flex-basis: 60px;
  }

  .sat-icon svg {
    width: 46px;
    height: 46px;
  }

  .trust-feature-image {
    min-height: 270px;
    max-height: 320px;
  }
}


/* ================================================================
   CTA TÉCNICO POLIGONAL CLARO
   Sustituye al antiguo CTA oscuro. El footer permanece sin cambios.
   ================================================================ */

.technical-response-section {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
  overflow: hidden;
}

.technical-response-shape {
  position: relative;
  width: 100%;
  padding: clamp(6.5rem, 10vw, 9rem) 0 clamp(4rem, 7vw, 6rem);
  background: var(--aranur-gray-100);
  clip-path: polygon(
    0 clamp(4rem, 7vw, 6.5rem),
    14% clamp(3.1rem, 5vw, 4.8rem),
    58% clamp(1.3rem, 2.3vw, 2.4rem),
    100% 0,
    100% 100%,
    0 100%
  );
}

.technical-response-shape::before {
  content: "";
  position: absolute;
  top: clamp(3rem, 5vw, 4.8rem);
  left: 0;
  width: clamp(5.5rem, 11vw, 10rem);
  height: clamp(4rem, 7vw, 6.7rem);
  background: var(--aranur-fuchsia);
  clip-path: polygon(
    0 28%,
    100% 0,
    84% 100%,
    0 82%
  );
  z-index: 0;
}

.technical-response-shape .container {
  z-index: 1;
}

.technical-response-kicker {
  color: var(--aranur-fuchsia-dark);
  letter-spacing: .10em;
}

.technical-response-shape h2 {
  max-width: 850px;
  color: var(--aranur-blue-dark);
}

.technical-response-lead {
  max-width: 780px;
}

.technical-response-shape .btn {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 991.98px) {
  .technical-response-shape {
    padding-top: 7rem;
    clip-path: polygon(
      0 5rem,
      35% 3rem,
      100% 0,
      100% 100%,
      0 100%
    );
  }

  .technical-response-shape::before {
    top: 3.5rem;
    width: 6.8rem;
    height: 5.2rem;
  }
}

@media (max-width: 575.98px) {
  .technical-response-shape {
    padding: 6rem 0 3.5rem;
    clip-path: polygon(
      0 4rem,
      44% 2rem,
      100% 0,
      100% 100%,
      0 100%
    );
  }

  .technical-response-shape::before {
    top: 2.8rem;
    width: 5.2rem;
    height: 4rem;
  }
}


/* ================================================================
   LOGOS DEL FOOTER SIN TEXTO
   ================================================================ */

.footer-logos {
  background: transparent;
}

.footer-logo-box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 110px;
  padding: 1rem;
  background: #fff;
}

.footer-logo-box img {
  display: block;
  max-width: 180px;
  max-height: 78px;
  object-fit: contain;
}




/* ================================================================
   SISTEMA POLIGONAL REUTILIZABLE ARANUR
   Franjas superiores más altas y contenido mejor equilibrado.
   ================================================================ */

.polygon-section {
  --polygon-bg: #ffffff;
  --polygon-blue: var(--aranur-blue);
  --polygon-pink: #f85d9c;
  --polygon-pink-soft: #ff9fc8;
  --polygon-side-width: 18%;
  --polygon-top-height: 72px;

  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
  overflow: hidden;
}

.polygon-section__shape {
  position: relative;
  min-height: 360px;
  padding: 8.25rem 0 4rem;
  background: var(--polygon-bg);
  overflow: hidden;
}

/* Franja rosa claro superior izquierda */
.polygon-section__top-left {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--polygon-side-width);
  height: var(--polygon-top-height);
  background: var(--polygon-pink-soft);
  clip-path: polygon(
    0 72%,
    100% 0,
    100% 100%,
    0 100%
  );
  z-index: 1;
}

/* Franja azul superior: misma altura que la rosa clara */
.polygon-section__top-right {
  position: absolute;
  top: 0;
  left: var(--polygon-side-width);
  right: 0;
  height: var(--polygon-top-height);
  background: var(--polygon-blue);
  clip-path: polygon(
    0 0,
    100% 0,
    100% 100%,
    0 100%
  );
  z-index: 1;
}

/* Pieza rosa lateral */
.polygon-section__side {
  position: absolute;
  top: var(--polygon-top-height);
  left: 0;
  width: var(--polygon-side-width);
  height: calc(100% - var(--polygon-top-height));
  background: var(--polygon-pink);
  clip-path: polygon(
    0 0,
    100% 0,
    100% 100%,
    18% 100%,
    0 34%
  );
  z-index: 0;
}

.polygon-section__container {
  position: relative;
  z-index: 2;
}

.polygon-section__kicker {
  color: var(--aranur-fuchsia-dark);
  letter-spacing: .10em;
}

.polygon-section__title {
  max-width: 800px;
  color: var(--aranur-blue-dark);
}

.polygon-section__text {
  max-width: 790px;
}

.polygon-section .btn {
  min-height: 50px;
}

/* Variante actual */
.polygon-section--technical {
  --polygon-bg: #ffffff;
  --polygon-blue: var(--aranur-blue);
  --polygon-pink: #f85d9c;
  --polygon-pink-soft: #ff9fc8;
  --polygon-side-width: 18%;
  --polygon-top-height: 72px;
}

/* En escritorio no añadimos padding lateral artificial:
   la rejilla 3/9 coloca el texto más cerca de la pieza rosa. */
@media (min-width: 992px) {
  .polygon-section__container {
    padding-left: var(--bs-gutter-x, .75rem);
    padding-right: var(--bs-gutter-x, .75rem);
  }
}

@media (max-width: 991.98px) {
  .polygon-section {
    --polygon-side-width: 25%;
    --polygon-top-height: 60px;
  }

  .polygon-section__shape {
    min-height: 380px;
    padding: 7.75rem 0 3.75rem;
  }

  .polygon-section__container {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .polygon-section__container .row > div:first-child {
    display: none !important;
  }

  .polygon-section__container .row > div:last-child {
    margin-left: var(--polygon-side-width);
    width: calc(100% - var(--polygon-side-width));
  }
}

@media (max-width: 575.98px) {
  .polygon-section {
    --polygon-side-width: 28%;
    --polygon-top-height: 48px;
  }

  .polygon-section__shape {
    min-height: auto;
    padding: 6.5rem 0 3.25rem;
  }

  .polygon-section__container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .polygon-section__container .row > div:last-child {
    margin-left: 0;
    width: 100%;
    padding-left: calc(var(--polygon-side-width) + .5rem);
  }

  .polygon-section__title {
    font-size: 1.65rem;
  }

  .polygon-section__text {
    font-size: .95rem;
  }
}

/* Futuras variantes:
.polygon-section--company {
  --polygon-bg: var(--aranur-gray-100);
  --polygon-pink: var(--aranur-fuchsia);
  --polygon-pink-soft: #ffd0e5;
}

.polygon-section--services {
  --polygon-side-width: 14%;
  --polygon-top-height: 56px;
}
*/

/* ================================================================
   BOOTSTRAP ICONS LOCALES
   ================================================================ */

.icon-inline {
  display: inline-block;
  font-size: 1rem;
  line-height: 1;
  vertical-align: -.08em;
}

.text-fuchsia {
  color: var(--aranur-fuchsia-dark) !important;
}

.btn .bi {
  flex: 0 0 auto;
  font-size: 1.05em;
  line-height: 1;
}

/* Icono principal de la franja SAT */
.sat-icon {
  width: 78px;
  height: 68px;
  color: #fff;
  background: transparent;
  flex: 0 0 78px;
}

.sat-icon .bi {
  font-size: 3.65rem;
  line-height: 1;
}

/* Ajuste visual del teléfono de la topbar */
.top-utility-bar .btn .bi,
.border-bottom.bg-light.py-2 .btn .bi {
  font-size: 1rem;
}

/* Microinteracción solo para flechas, respetando reduced motion */
.service-card .btn .bi-arrow-right {
  transition: transform .18s ease;
}

.service-card .btn:hover .bi-arrow-right,
.service-card .btn:focus .bi-arrow-right {
  transform: translateX(4px);
}

@media (max-width: 575.98px) {
  .sat-icon {
    width: 62px;
    height: 58px;
    flex-basis: 62px;
  }

  .sat-icon .bi {
    font-size: 3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .service-card .btn .bi-arrow-right {
    transition: none;
  }

  .service-card .btn:hover .bi-arrow-right,
  .service-card .btn:focus .bi-arrow-right {
    transform: none;
  }
}


/* ================================================================
   REVISIÓN RESPONSIVE Y ACCESIBILIDAD AA
   ================================================================ */

/* Los anclajes no quedan ocultos bajo la cabecera sticky. */
section[id] {
  scroll-margin-top: 7rem;
}

/* Foco visible con doble contraste, también sobre botones fucsias. */
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--aranur-blue-dark) !important;
}

/* Tamaño táctil mínimo práctico para controles principales. */
.navbar-toggler,
.lang-btn,
.navbar .nav-link,
.top-utility-bar .btn,
.border-bottom.bg-light.py-2 .btn {
  min-height: 44px;
}

/* El botón del dropdown conserva el aspecto de los enlaces del menú. */
.navbar button.nav-link {
  width: auto;
  text-align: left;
}

/* Evita que el menú de idioma se salga en móviles estrechos. */
@media (max-width: 575.98px) {
  .dropdown-menu {
    min-width: 0;
    width: min(18rem, calc(100vw - 2rem));
  }

  /* En móvil el polígono se mantiene decorativo sin comprimir el texto. */
  .polygon-section {
    --polygon-side-width: 20%;
  }

  .polygon-section__container .row > div:last-child {
    padding-left: 0;
  }

  .polygon-section__side {
    opacity: .18;
  }

  .polygon-section__title,
  .polygon-section__text {
    max-width: none;
  }
}

/* Mejora el reflow de textos y botones largos en traducciones. */
.btn,
.nav-link,
.dropdown-item {
  white-space: normal;
}

/* Las imágenes mantienen proporción y no provocan desbordamiento. */
img {
  max-width: 100%;
  height: auto;
}


/* ================================================================
   CORRECCIÓN CABECERA, MENÚ E IDIOMAS
   ================================================================ */

.top-utility-bar,
.border-bottom.bg-light.py-2 {
  position: relative;
  z-index: 1085;
}

header.sticky-top {
  z-index: 1080;
}

.navbar {
  min-height: 118px;
}

.navbar-brand {
  flex: 0 0 auto;
}

.navbar-collapse {
  align-items: center;
}

.navbar-nav {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.navbar .nav-link,
.navbar .dropdown-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: .7rem .75rem;
  margin: 0;
  color: var(--aranur-blue-dark);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .dropdown-toggle:hover,
.navbar .dropdown-toggle:focus {
  color: var(--aranur-fuchsia-dark);
}

.navbar .dropdown-toggle::after {
  margin-left: .45rem;
  vertical-align: .12em;
}

.navbar .btn-primary {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.dropdown-menu {
  z-index: 1095;
}

.navbar .dropdown-menu {
  top: calc(100% + .4rem);
  min-width: 290px;
  padding: .5rem;
  border: 1px solid var(--aranur-gray-300);
  box-shadow: 0 .75rem 1.5rem rgba(8, 43, 74, .12) !important;
}

.navbar .dropdown-item {
  padding: .8rem .9rem;
  color: var(--aranur-blue-dark);
  font-weight: 700;
}

.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
  color: var(--aranur-fuchsia-dark);
  background: var(--aranur-gray-100);
}

/* Selector de idioma claro, alineado con el teléfono */
.language-toggle {
  min-height: 40px;
  color: var(--aranur-blue-dark) !important;
  background: #fff !important;
  border-color: var(--aranur-blue) !important;
  border-radius: 0 !important;
  font-weight: 700;
}

.language-toggle:hover,
.language-toggle:focus,
.language-toggle[aria-expanded="true"] {
  color: #fff !important;
  background: var(--aranur-blue) !important;
  border-color: var(--aranur-blue) !important;
}

.language-toggle:hover .bi,
.language-toggle:focus .bi,
.language-toggle[aria-expanded="true"] .bi {
  color: #fff !important;
}

.language-menu {
  min-width: 110px;
  margin-top: .35rem !important;
  padding: .35rem;
  border: 1px solid var(--aranur-gray-300);
  border-radius: 0;
  box-shadow: 0 .75rem 1.5rem rgba(8, 43, 74, .12) !important;
}

.language-menu .dropdown-item {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--aranur-blue-dark);
  font-weight: 700;
  text-align: center;
}

.language-menu .dropdown-item.active,
.language-menu .dropdown-item:active,
.language-menu .dropdown-item:hover,
.language-menu .dropdown-item:focus {
  color: #fff;
  background: var(--aranur-blue);
}

/* Alineación topbar */
.border-bottom.bg-light.py-2 .container > .d-flex {
  min-height: 42px;
}

.border-bottom.bg-light.py-2 .btn {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Responsive */
@media (max-width: 1199.98px) {
  .navbar {
    min-height: 92px;
  }

  .navbar-collapse {
    margin-top: 1rem;
    padding: 1rem 0;
    border-top: 1px solid var(--aranur-gray-300);
  }

  .navbar-nav {
    align-items: stretch;
    gap: 0;
  }

  .navbar .nav-link,
  .navbar .dropdown-toggle {
    width: 100%;
    justify-content: space-between;
    padding: .9rem 0;
  }

  .navbar .btn-primary {
    width: 100%;
    margin-left: 0 !important;
  }

  .navbar .dropdown-menu {
    position: static !important;
    transform: none !important;
    width: 100%;
    min-width: 0;
    margin: 0 0 .75rem;
    box-shadow: none !important;
  }
}

@media (max-width: 575.98px) {
  .border-bottom.bg-light.py-2 .container > .d-flex {
    align-items: flex-start !important;
  }

  .border-bottom.bg-light.py-2 .d-flex.flex-wrap.align-items-center.gap-2 {
    width: 100%;
    justify-content: space-between;
  }

  .top-phone-pill,
  .language-toggle {
    flex: 1 1 auto;
  }

  .language-menu {
    min-width: 100%;
  }
}


/* ================================================================
   MENÚ PRINCIPAL DEFINITIVO
   ================================================================ */

.navbar-nav {
  margin: 0;
  padding: 0;
  list-style: none;
}

.navbar-nav .nav-item {
  margin: 0;
  padding: 0;
  list-style: none;
}

.navbar .nav-link,
.navbar .dropdown-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: .65rem .7rem;
  margin: 0;
  color: var(--aranur-blue-dark);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.navbar .dropdown-toggle::after {
  margin-left: .45rem;
}

.navbar .dropdown-menu {
  min-width: 280px;
  padding: .45rem;
  margin-top: .4rem;
  border: 1px solid var(--aranur-gray-300);
  border-radius: 0;
  box-shadow: 0 .75rem 1.5rem rgba(8, 43, 74, .12);
}

.navbar .dropdown-menu,
.navbar .dropdown-menu li {
  list-style: none;
}

.navbar .dropdown-item {
  display: block;
  width: 100%;
  padding: .8rem .9rem;
  color: var(--aranur-blue-dark);
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.35;
  white-space: normal;
}

.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
  color: var(--aranur-fuchsia-dark);
  background: var(--aranur-gray-100);
}

@media (max-width: 1199.98px) {
  .navbar-nav {
    align-items: stretch !important;
    width: 100%;
  }

  .navbar .nav-link,
  .navbar .dropdown-toggle {
    width: 100%;
    justify-content: space-between;
    padding: .9rem 0;
  }

  .navbar .dropdown-menu {
    position: static !important;
    width: 100%;
    min-width: 0;
    margin: 0 0 .75rem;
    transform: none !important;
    box-shadow: none;
  }
}


/* ================================================================
   PÁGINA INTERIOR · SECTORES
   Cabecera compacta, sin franja lateral y con panel poligonal.
   ================================================================ */

.inner-page-header {
  background: #fff;
}

.inner-page-header .breadcrumb {
  --bs-breadcrumb-divider: "›";
  font-size: .88rem;
}

.inner-page-header .breadcrumb-item a {
  color: var(--aranur-blue);
  text-decoration: none;
}

.inner-page-header .breadcrumb-item a:hover,
.inner-page-header .breadcrumb-item a:focus {
  color: var(--aranur-fuchsia-dark);
  text-decoration: underline;
}

.inner-page-header .breadcrumb-item.active {
  color: var(--aranur-gray-700);
  font-weight: 700;
}

/* Cabecera interior */
.sector-hero {
  --sector-accent-height: 10px;

  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 64%) minmax(320px, 36%);
  min-height: clamp(280px, 25vw, 390px);
  background: #fff;
  overflow: hidden;
}

/* Línea rosa fina superior */
.sector-hero__blue-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: var(--sector-accent-height);
  background: var(--aranur-fuchsia);
  z-index: 4;
}

/* Ya no usamos la franja lateral */
.sector-hero__blue-side {
  display: none;
}

/* Imagen */
.sector-hero__media {
  position: relative;
  grid-column: 1 / 2;
  min-width: 0;
  min-height: inherit;
  overflow: hidden;
}

.sector-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center;
}

/* Panel azul con forma poligonal */
.sector-hero__content {
  position: relative;
  grid-column: 2 / 3;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: inherit;
  margin-left: -90px;
  padding: calc(var(--sector-accent-height) + 1.75rem)
           clamp(2rem, 4vw, 4.5rem)
           2.5rem
           clamp(4.75rem, 6vw, 6.5rem);
  color: #fff;
  background: var(--aranur-blue-dark);
  clip-path: polygon(
    10% 0,
    100% 0,
    100% 100%,
    0 100%,
    6% 55%
  );
  z-index: 2;
}

.sector-hero__content-inner {
  position: relative;
  z-index: 1;
  max-width: 560px;
}

.sector-hero__eyebrow {
  color: #f4a8cf;
  font-size: .72rem;
  letter-spacing: .09em;
}

.sector-hero h1 {
  color: #fff;
  line-height: 1.05;
  font-size: clamp(2.1rem, 4vw, 3.7rem);
}

.sector-hero .lead {
  color: rgba(255, 255, 255, .84);
  max-width: 600px;
  font-size: clamp(1rem, 1.35vw, 1.15rem);
  line-height: 1.55;
}

/* Indicador de página actual */
.navbar .nav-link[aria-current="page"] {
  color: var(--aranur-fuchsia-dark);
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: .55rem;
}

/* Tablet */
@media (max-width: 1199.98px) {
  .sector-hero {
    grid-template-columns: minmax(0, 58%) minmax(340px, 42%);
    min-height: clamp(270px, 32vw, 360px);
  }

  .sector-hero__content {
    margin-left: -38px;
    padding-left: 4.5rem;
    padding-right: 2.25rem;
    clip-path: polygon(
      9% 0,
      100% 0,
      100% 100%,
      0 100%,
      5% 58%
    );
  }
}

/* Tablet vertical y móvil */
@media (max-width: 991.98px) {
  .sector-hero {
    display: block;
    min-height: auto;
  }

  .sector-hero__media {
    min-height: 300px;
  }

  .sector-hero__media img {
    min-height: 300px;
  }

  .sector-hero__content {
    min-height: auto;
    margin-left: 0;
    margin-top: -42px;
    padding: 4rem 2rem 2.75rem;
    clip-path: polygon(
      0 12%,
      72% 0,
      100% 8%,
      100% 100%,
      0 100%
    );
  }

  .sector-hero__content-inner {
    max-width: 720px;
  }
}

/* Móvil estrecho */
@media (max-width: 575.98px) {
  .sector-hero {
    --sector-accent-height: 8px;
  }

  .sector-hero__media,
  .sector-hero__media img {
    min-height: 230px;
  }

  .sector-hero__content {
    margin-top: -28px;
    padding: 3rem 1.25rem 2.5rem;
    clip-path: polygon(
      0 9%,
      78% 0,
      100% 7%,
      100% 100%,
      0 100%
    );
  }

  .sector-hero h1 {
    font-size: clamp(2rem, 10vw, 2.7rem);
  }

  .sector-hero .lead {
    font-size: 1rem;
  }
}


/* ================================================================
   TABS DE SECTORES
   ================================================================ */

.sectors-tabs-section {
  background: var(--aranur-gray-100);
}

.sectors-tabs-nav {
  padding: 1rem;
  background: #fff;
  border: 1px solid var(--aranur-gray-300);
}

.sectors-tabs-help {
  padding: .35rem .75rem .75rem;
  color: var(--aranur-blue-dark);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.sector-tab {
  display: flex;
  align-items: center;
  gap: .85rem;
  width: 100%;
  min-height: 52px;
  padding: .85rem 1rem;
  color: var(--aranur-gray-900);
  background: transparent;
  border: 0;
  border-left: 4px solid transparent;
  text-align: left;
  font-weight: 700;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

.sector-tab .bi:first-child {
  width: 1.25rem;
  color: var(--aranur-blue);
  font-size: 1.15rem;
  text-align: center;
}

.sector-tab .bi-arrow-right {
  color: var(--aranur-blue);
  transition: transform .18s ease;
}

.sector-tab:hover,
.sector-tab:focus-visible {
  color: var(--aranur-blue-dark);
  background: var(--aranur-gray-100);
}

.sector-tab.active,
.sector-tab[aria-selected="true"] {
  color: #fff;
  background: var(--aranur-blue-dark);
  border-left-color: var(--aranur-fuchsia);
}

.sector-tab.active .bi,
.sector-tab[aria-selected="true"] .bi {
  color: #fff;
}

.sector-tab.active .bi-arrow-right,
.sector-tab[aria-selected="true"] .bi-arrow-right {
  transform: translateX(3px);
}

.sector-panel {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: clamp(1.5rem, 3vw, 2.75rem);
  background: #fff;
  border: 1px solid var(--aranur-gray-300);
}

.sector-panel__head {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.sector-panel__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  color: var(--aranur-blue-dark);
  background: var(--aranur-gray-100);
  border: 1px solid var(--aranur-gray-300);
}

.sector-panel__icon .bi {
  font-size: 1.65rem;
}

.sector-panel h3 {
  margin: 0;
  color: var(--aranur-blue-dark);
  font-size: clamp(1.55rem, 2.5vw, 2rem);
  font-weight: 700;
}

.sector-panel h4 {
  margin: 1.75rem 0 1rem;
  color: var(--aranur-blue-dark);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.sector-panel p {
  color: var(--aranur-gray-700);
  line-height: 1.7;
}

.sector-panel__list {
  display: grid;
  gap: .8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sector-panel__list li {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  color: var(--aranur-gray-700);
  font-size: .93rem;
  font-weight: 600;
}

.sector-panel__list .bi {
  margin-top: .12rem;
  color: var(--aranur-fuchsia-dark);
  font-size: 1.1rem;
  flex: 0 0 auto;
}

.sector-panel__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
  margin-top: auto;
  padding-top: 2rem;
  border-top: 1px solid var(--aranur-gray-300);
}

.sector-panel__footer > span {
  color: var(--aranur-gray-700);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sector-panel__footer a {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: var(--aranur-blue-dark);
  font-size: .86rem;
  font-weight: 700;
  text-decoration: none;
}

.sector-panel__footer a:hover,
.sector-panel__footer a:focus {
  color: var(--aranur-fuchsia-dark);
}

@media (max-width: 991.98px) {
  .sectors-tabs-nav {
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    padding: .75rem;
    scrollbar-width: thin;
  }

  .sectors-tabs-help {
    display: none;
  }

  .sector-tab {
    width: auto;
    min-width: max-content;
    min-height: 48px;
    border-left: 0;
    border-bottom: 3px solid transparent;
  }

  .sector-tab.active,
  .sector-tab[aria-selected="true"] {
    border-left: 0;
    border-bottom-color: var(--aranur-fuchsia);
  }

  .sector-tab .bi-arrow-right {
    display: none;
  }

  .sector-panel {
    min-height: 520px;
  }
}

@media (max-width: 575.98px) {
  .sector-panel {
    min-height: auto;
    padding: 1.25rem;
  }

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


/* ================================================================
   CONTENEDOR GENERAL
   ================================================================ */

@media (min-width: 1200px) {
  .container {
    width: 90%;
    max-width: 1700px;
    margin-inline: auto;
  }
}

/* ================================================================
   PÁGINA INTERIOR · OLEOHIDRÁULICA Y NEUMÁTICA
   ================================================================ */

.inner-page-header {
  background: #fff;
}

.inner-page-header .breadcrumb {
  --bs-breadcrumb-divider: "›";
  font-size: .88rem;
}

.inner-page-header .breadcrumb-item a {
  color: var(--aranur-blue);
  text-decoration: none;
}

.inner-page-header .breadcrumb-item a:hover,
.inner-page-header .breadcrumb-item a:focus {
  color: var(--aranur-fuchsia-dark);
  text-decoration: underline;
}

.inner-page-header .breadcrumb-item.active {
  color: var(--aranur-gray-700);
  font-weight: 700;
}

/* Cabecera interior sin huecos entre texto e imagen */
.service-inner-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(360px, 42%) minmax(0, 58%);
  min-height: clamp(300px, 25vw, 390px);
  background: #fff;
  overflow: hidden;
}

/* Panel fucsia poligonal */
.service-inner-hero__content {
  position: relative;
  grid-column: 1 / 2;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: inherit;
  padding: 2.5rem clamp(3rem, 5vw, 5.5rem);
  color: #fff;
  background: var(--aranur-fuchsia);
  clip-path: polygon(
    0 0,
    92% 0,
    100% 50%,
    92% 100%,
    0 100%
  );
  z-index: 2;
}

.service-inner-hero__content-inner {
  position: relative;
  z-index: 1;
  max-width: 660px;
}

.service-inner-hero__eyebrow {
  color: rgba(255, 255, 255, .88);
  font-size: .74rem;
  letter-spacing: .09em;
}

.service-inner-hero h1 {
  color: #fff;
  font-size: clamp(2.2rem, 4vw, 3.7rem);
  line-height: 1.06;
}

.service-inner-hero .lead {
  color: rgba(255, 255, 255, .92);
  max-width: 620px;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  line-height: 1.55;
}

/* Imagen pegada al panel, sin márgenes ni espacios blancos */
.service-inner-hero__media {
  position: relative;
  grid-column: 2 / 3;
  min-width: 0;
  min-height: inherit;
  margin-left: -75px;
  overflow: hidden;
}

.service-inner-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center;
}

/* Botones dentro del panel fucsia */
.service-inner-hero .btn-light {
  color: var(--aranur-fuchsia-dark);
  background: #fff;
  border-color: #fff;
}

.service-inner-hero .btn-light:hover,
.service-inner-hero .btn-light:focus {
  color: #fff;
  background: var(--aranur-blue-dark);
  border-color: var(--aranur-blue-dark);
}

.service-inner-hero .btn-outline-light {
  color: #fff;
  background: transparent;
  border-color: #fff;
}

.service-inner-hero .btn-outline-light:hover,
.service-inner-hero .btn-outline-light:focus {
  color: var(--aranur-fuchsia-dark);
  background: #fff;
  border-color: #fff;
}

/* Caja de ventajas */
.service-highlight {
  padding: 2rem;
  background: var(--aranur-gray-100);
  border-left: 6px solid var(--aranur-fuchsia);
}

.service-highlight__kicker {
  color: var(--aranur-fuchsia-dark);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.service-highlight__list {
  display: grid;
  gap: .9rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.service-highlight__list li {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  color: var(--aranur-gray-700);
  font-weight: 600;
}

.service-highlight__list .bi {
  margin-top: .1rem;
  color: var(--aranur-fuchsia-dark);
  flex: 0 0 auto;
}

.navbar .dropdown-toggle[aria-current="page"] {
  color: var(--aranur-fuchsia-dark);
}

/* Tablet */
@media (max-width: 1199.98px) {
  .service-inner-hero {
    grid-template-columns: minmax(360px, 46%) minmax(0, 54%);
    min-height: clamp(300px, 34vw, 380px);
  }

  .service-inner-hero__content {
    padding-inline: 3.5rem;
  }

  .service-inner-hero__media {
    margin-left: -32px;
  }
}

/* Tablet vertical */
@media (max-width: 991.98px) {
  .service-inner-hero {
    display: block;
    min-height: auto;
  }

  .service-inner-hero__content {
    min-height: auto;
    padding: 3.5rem 2rem 4rem;
    clip-path: polygon(
      0 0,
      100% 0,
      100% 88%,
      72% 100%,
      0 92%
    );
  }

  .service-inner-hero__media {
    min-height: 320px;
    margin-left: 0;
    margin-top: -34px;
  }

  .service-inner-hero__media img {
    min-height: 320px;
  }
}

/* Móvil */
@media (max-width: 575.98px) {
  .service-inner-hero__content {
    padding: 3rem 1.25rem 3.5rem;
  }

  .service-inner-hero h1 {
    font-size: clamp(2rem, 10vw, 2.75rem);
  }

  .service-inner-hero__media,
  .service-inner-hero__media img {
    min-height: 240px;
  }

  .service-highlight {
    padding: 1.5rem;
  }
}


/* ================================================================
   VOSS COAT · BLOQUE TÉCNICO
   ================================================================ */

.voss-coat-section {
  background: #fff;
}

.voss-coat-block {
  overflow: hidden;
  background: var(--aranur-gray-100);
  border: 1px solid var(--aranur-gray-300);
  border-radius: 0;
  box-shadow: none;
}

.voss-coat-media {
  min-height: 360px;
  height: 100%;
  background-color: var(--aranur-blue-soft);
  background-image:
    linear-gradient(
      135deg,
      rgba(0, 69, 128, .06),
      rgba(227, 0, 123, .06)
    ),
    url("../images/servicio-oleohidraulica.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.voss-coat-content {
  min-height: 360px;
  padding: clamp(2rem, 4vw, 4.5rem);
  background: #fff;
}

.voss-coat-content h2 {
  color: var(--aranur-blue-dark);
  max-width: 820px;
}

.voss-coat-content .lead {
  max-width: 920px;
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  line-height: 1.65;
}

.voss-coat-list {
  display: grid;
  gap: 1rem;
  padding: 0;
  list-style: none;
}

.voss-coat-list li {
  display: flex;
  align-items: flex-start;
  gap: .8rem;
  color: var(--aranur-blue-dark);
  font-weight: 600;
}

.voss-coat-list .bi {
  margin-top: .15rem;
  color: var(--aranur-fuchsia);
  font-size: 1.1rem;
  flex: 0 0 auto;
}

@media (max-width: 991.98px) {
  .voss-coat-media {
    min-height: 300px;
  }

  .voss-coat-content {
    min-height: auto;
  }
}

@media (max-width: 575.98px) {
  .voss-coat-section {
    padding-block: 2.5rem !important;
  }

  .voss-coat-media {
    min-height: 230px;
  }

  .voss-coat-content {
    padding: 1.5rem;
  }
}


/* ================================================================
   CATÁLOGO DE COMPONENTES
   ================================================================ */

.components-catalog-section {
  background: var(--aranur-gray-100);
}

.catalog-intro {
  max-width: 900px;
}

.component-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--aranur-gray-300);
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}

.component-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 150px;
  color: var(--aranur-blue-dark);
  background:
    linear-gradient(
      135deg,
      rgba(0, 69, 128, .06),
      rgba(227, 0, 123, .04)
    );
  border-bottom: 1px solid var(--aranur-gray-300);
}

.component-card__media .bi {
  font-size: 3.25rem;
  line-height: 1;
}

.component-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.5rem;
}

.component-card h3 {
  color: var(--aranur-blue-dark);
  line-height: 1.35;
}

.component-card p {
  color: var(--aranur-gray-700);
  font-size: .95rem;
  line-height: 1.65;
  flex-grow: 1;
}

.component-card__link {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  color: var(--aranur-blue-dark);
  border-top: 1px solid var(--aranur-gray-300);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
}

.component-card__link:hover,
.component-card__link:focus {
  color: var(--aranur-fuchsia-dark);
}

.component-card__link .bi {
  transition: transform .18s ease;
}

.component-card__link:hover .bi,
.component-card__link:focus .bi {
  transform: translateX(4px);
}

@media (max-width: 575.98px) {
  .component-card__media {
    min-height: 120px;
  }

  .component-card__media .bi {
    font-size: 2.75rem;
  }

  .component-card__body {
    padding: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .component-card__link .bi {
    transition: none;
  }

  .component-card__link:hover .bi,
  .component-card__link:focus .bi {
    transform: none;
  }
}


/* ================================================================
   ESTRUCTURA MODULAR DEL SERVICIO
   ================================================================ */

.service-process-section {
  background: #fff;
}

.service-process-heading {
  max-width: 900px;
}

.service-process-item {
  position: relative;
  min-height: 230px;
  padding: 2rem 2rem 2rem 2.25rem;
  background: var(--aranur-gray-100);
  border: 1px solid var(--aranur-gray-300);
  border-left: 4px solid var(--aranur-fuchsia);
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}

.service-process-number {
  position: absolute;
  top: .75rem;
  right: 1.25rem;
  color: rgba(0, 69, 128, .08);
  font-size: clamp(4.5rem, 8vw, 7rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.06em;
  user-select: none;
}

.service-process-content {
  position: relative;
  z-index: 1;
  max-width: 82%;
}

.service-process-item h3 {
  color: var(--aranur-blue-dark);
  line-height: 1.35;
}

.service-process-item p {
  color: var(--aranur-gray-700);
  line-height: 1.7;
}

@media (max-width: 991.98px) {
  .service-process-content {
    max-width: 88%;
  }
}

@media (max-width: 575.98px) {
  .service-process-section {
    padding-block: 2.5rem !important;
  }

  .service-process-item {
    min-height: 210px;
    padding: 1.5rem;
  }

  .service-process-number {
    top: .75rem;
    right: 1rem;
    font-size: 4.5rem;
  }

  .service-process-content {
    max-width: 100%;
    padding-top: 2.8rem;
  }
}


/* ================================================================
   FAMILIAS DE PRODUCTOS Y APLICACIONES
   ================================================================ */

.products-table-section {
  background: var(--aranur-gray-100);
}

.products-table-heading {
  max-width: 980px;
}

.products-table-wrapper {
  overflow-x: auto;
  background: #fff;
  border: 1px solid var(--aranur-gray-300);
  border-radius: 0;
  box-shadow: none;
}

.products-table-wrapper:focus-visible {
  outline: 3px solid var(--aranur-blue-dark);
  outline-offset: 3px;
}

.products-table {
  width: 100%;
  min-width: 980px;
  margin: 0;
  border-collapse: collapse;
}

.products-table thead th {
  padding: 1.15rem 1.5rem;
  color: var(--aranur-blue-dark);
  background: #fff;
  border-bottom: 2px solid var(--aranur-gray-300);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-align: left;
  text-transform: uppercase;
}

.products-table tbody th,
.products-table tbody td {
  padding: 1.3rem 1.5rem;
  vertical-align: top;
  border-bottom: 1px solid var(--aranur-gray-300);
  line-height: 1.6;
}

.products-table tbody tr:last-child th,
.products-table tbody tr:last-child td {
  border-bottom: 0;
}

.products-table tbody th {
  width: 300px;
  color: var(--aranur-blue-dark);
  font-weight: 700;
  text-align: left;
}

.products-table tbody td {
  color: var(--aranur-gray-700);
}

.products-table tbody td:nth-child(2) {
  width: 260px;
}

.product-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: .45rem .75rem;
  color: var(--aranur-blue-dark);
  background: var(--aranur-gray-100);
  border: 1px solid var(--aranur-gray-300);
  border-radius: 0;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.25;
}

@media (max-width: 991.98px) {
  .products-table {
    min-width: 900px;
  }
}

@media (max-width: 575.98px) {
  .products-table-section {
    padding-block: 2.5rem !important;
  }

  .products-table thead th,
  .products-table tbody th,
  .products-table tbody td {
    padding: 1rem;
  }
}


/* ================================================================
   PÁGINA EMPRESA
   ================================================================ */

.company-page-header { background:#fff; }
.company-page-header .breadcrumb { --bs-breadcrumb-divider:"›"; font-size:.88rem; }
.company-page-header .breadcrumb-item a { color:var(--aranur-blue); text-decoration:none; }
.company-page-header .breadcrumb-item a:hover,
.company-page-header .breadcrumb-item a:focus { color:var(--aranur-fuchsia-dark); text-decoration:underline; }
.company-page-header .breadcrumb-item.active { color:var(--aranur-gray-700); font-weight:700; }

.company-hero {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,56%) minmax(360px,44%);
  min-height:clamp(390px,34vw,560px);
  background:var(--aranur-gray-100);
  overflow:hidden;
}
.company-hero__content {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  padding:clamp(3rem,6vw,6rem);
}
.company-hero__content-inner { max-width:820px; }
.company-hero__eyebrow { color:var(--aranur-fuchsia-dark); font-size:.75rem; letter-spacing:.1em; }
.company-hero h1 { color:var(--aranur-blue-dark); font-size:clamp(2.5rem,5vw,4.8rem); line-height:1.03; }
.company-hero .lead { max-width:760px; color:var(--aranur-gray-700); line-height:1.65; }

.company-hero__media { position:relative; min-width:0; overflow:hidden; }
.company-hero__media img { display:block; width:100%; height:100%; min-height:inherit; object-fit:cover; object-position:center; }

.company-hero__polygon {
  position:absolute;
  top:0;
  right:38%;
  bottom:0;
  width:180px;
  background:var(--aranur-fuchsia);
  clip-path:polygon(58% 0,100% 0,72% 100%,0 100%);
  z-index:3;
  pointer-events:none;
}

.company-hero-facts { color:#fff; background:var(--aranur-blue-dark); }
.company-fact {
  min-height:118px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:1.5rem 2rem;
  border-right:1px solid rgba(255,255,255,.18);
}
.company-fact strong { color:#fff; font-size:clamp(1.35rem,2.3vw,2rem); line-height:1.15; }
.company-fact span { margin-top:.35rem; color:rgba(255,255,255,.72); font-size:.9rem; }
.company-hero-facts .col-md-4:last-child .company-fact { border-right:0; }

.company-intro-section { background:#fff; }
.company-summary {
  padding:clamp(1.75rem,3vw,2.75rem);
  background:var(--aranur-gray-100);
  border-left:6px solid var(--aranur-fuchsia);
}
.company-summary__kicker { color:var(--aranur-fuchsia-dark); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.company-summary__list { display:grid; gap:1rem; margin:0; padding:0; list-style:none; }
.company-summary__list li { display:flex; align-items:flex-start; gap:.75rem; color:var(--aranur-gray-700); font-weight:600; }
.company-summary__list .bi { margin-top:.1rem; color:var(--aranur-fuchsia-dark); flex:0 0 auto; }

.company-experience-section { background:var(--aranur-gray-100); }
.company-experience-block,
.company-logistics-block {
  position:relative;
  min-height:340px;
  padding:clamp(2rem,4vw,4rem);
  overflow:hidden;
}
.company-experience-block { background:#fff; border-left:6px solid var(--aranur-fuchsia); }
.company-logistics-block { color:#fff; background:var(--aranur-blue-dark); }
.company-logistics-block h2 { color:#fff; }
.company-logistics-block .text-secondary { color:rgba(255,255,255,.8)!important; }

.company-experience-number {
  position:absolute;
  top:.5rem;
  right:1.25rem;
  color:rgba(0,69,128,.07);
  font-size:clamp(6rem,13vw,11rem);
  font-weight:700;
  line-height:1;
  letter-spacing:-.08em;
  user-select:none;
}
.company-experience-block>*:not(.company-experience-number) { position:relative; z-index:1; }

.company-facilities-section { background:#fff; }
.company-facilities-media {
  min-height:520px;
  height:100%;
  background:
    linear-gradient(135deg,rgba(0,69,128,.12),rgba(227,0,123,.08)),
    url("../images/empresa-instalaciones.webp");
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
}
.company-facilities-content { min-height:520px; padding:clamp(2.5rem,5vw,6rem); background:#fff; }
.company-facilities-content h2 { color:var(--aranur-blue-dark); max-width:760px; }
.company-facilities-content p { max-width:820px; line-height:1.7; }

@media (max-width:1199.98px) {
  .company-hero { grid-template-columns:minmax(0,58%) minmax(340px,42%); }
  .company-hero__polygon { right:36%; width:150px; }
}

@media (max-width:991.98px) {
  .company-hero { display:block; min-height:auto; }
  .company-hero__content { min-height:390px; padding:3.5rem 2rem 4.5rem; }
  .company-hero__media { min-height:360px; }
  .company-hero__polygon {
    top:auto;
    right:0;
    bottom:300px;
    width:45%;
    height:110px;
    clip-path:polygon(30% 0,100% 0,100% 100%,0 72%);
  }
  .company-fact { border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }
  .company-hero-facts .col-md-4:last-child .company-fact { border-bottom:0; }
}

@media (max-width:575.98px) {
  .company-hero__content { min-height:340px; padding:3rem 1.25rem 4rem; }
  .company-hero h1 { font-size:clamp(2.35rem,12vw,3.2rem); }
  .company-hero__media { min-height:260px; }
  .company-hero__polygon { bottom:215px; height:80px; }
  .company-fact { min-height:96px; padding:1.25rem; }
  .company-experience-block,
  .company-logistics-block { min-height:auto; padding:1.5rem; }
}


/* ================================================================
   EMPRESA · INSTALACIONES, POSICIONAMIENTO, TALLER Y GALERÍA
   ================================================================ */

.company-facilities-centered-section {
  background: #fff;
}

.company-facilities-centered {
  width: min(100%, 980px);
  margin-inline: auto;
  text-align: center;
}

.company-facilities-centered h2 {
  color: var(--aranur-blue-dark);
  line-height: 1.1;
}

.company-facilities-centered p {
  max-width: 860px;
  margin-inline: auto;
  line-height: 1.7;
}

.company-positioning-section {
  background: var(--aranur-gray-100);
}

.company-positioning-block {
  padding: clamp(1.75rem, 3vw, 2.75rem);
  background: #fff;
  border: 1px solid var(--aranur-gray-300);
  border-radius: 0;
  box-shadow: none;
}

.company-positioning-block h3 {
  color: var(--aranur-blue-dark);
  line-height: 1.3;
}

.company-positioning-icon {
  color: var(--aranur-fuchsia-dark);
  font-size: 1.35rem;
  line-height: 1;
  flex: 0 0 auto;
}

.company-positioning-block p {
  line-height: 1.7;
}

.company-positioning-note,
.company-group-signature {
  padding: 1rem 1.15rem;
  background: var(--aranur-gray-100);
  border-left: 4px solid var(--aranur-fuchsia);
  color: var(--aranur-gray-700);
  font-size: .82rem;
}

.company-group-signature {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.company-group-signature strong {
  color: var(--aranur-blue-dark);
  font-size: 1.05rem;
}

.company-workshop-section {
  color: #fff;
  background: var(--aranur-blue-dark);
}

.company-workshop-heading {
  max-width: 980px;
}

.company-workshop-heading p {
  color: #f6b6d9;
}

.company-workshop-heading h2 {
  color: #fff;
}

.company-workshop-heading .lead {
  color: rgba(255, 255, 255, .75);
}

.company-workshop-item {
  position: relative;
  min-height: 220px;
  padding: 1.75rem;
  color: #fff;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  border-left: 4px solid var(--aranur-fuchsia);
  overflow: hidden;
}

.company-workshop-item h3 {
  position: relative;
  z-index: 1;
  color: #fff;
  line-height: 1.4;
}

.company-workshop-item p {
  position: relative;
  z-index: 1;
  color: rgba(255, 255, 255, .72);
  font-size: .9rem;
  line-height: 1.65;
}

.company-workshop-number {
  position: absolute;
  top: .35rem;
  right: .8rem;
  color: rgba(255, 255, 255, .06);
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
  user-select: none;
}

.company-gallery-section {
  background: #fff;
}

.company-gallery-heading {
  max-width: 900px;
}

.company-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 260px;
  gap: 1rem;
}

.company-gallery-item {
  margin: 0;
  overflow: hidden;
  background: var(--aranur-gray-100);
}

.company-gallery-item--wide {
  grid-column: span 2;
}

.company-gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 991.98px) {
  .company-group-signature {
    align-items: flex-start;
    flex-direction: column;
  }

  .company-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 230px;
  }

  .company-gallery-item--wide {
    grid-column: span 2;
  }
}

@media (max-width: 575.98px) {
  .company-facilities-centered-section,
  .company-positioning-section,
  .company-workshop-section,
  .company-gallery-section {
    padding-block: 2.5rem !important;
  }

  .company-positioning-block,
  .company-workshop-item {
    padding: 1.5rem;
  }

  .company-workshop-item {
    min-height: 190px;
  }

  .company-gallery-grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 220px;
  }

  .company-gallery-item--wide {
    grid-column: auto;
  }
}




/* ================================================================
   EMPRESA · TIMELINE VERTICAL CENTRADA
   ================================================================ */

.company-hero__polygon {
  display: none !important;
}

.company-timeline-section {
  background: var(--aranur-gray-100);
}

.company-timeline-heading {
  max-width: 820px;
}

.company-timeline--compact {
  position: relative;
  width: min(100%, 980px);
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.company-timeline--compact::before {
  content: "";
  position: absolute;
  top: 1rem;
  bottom: 1rem;
  left: 50%;
  width: 2px;
  background: var(--aranur-gray-300);
  transform: translateX(-50%);
}

.company-timeline-entry {
  position: relative;
  width: 50%;
  padding-bottom: 2.5rem;
}

.company-timeline-entry:last-child {
  padding-bottom: 0;
}

.company-timeline-entry::before {
  content: "";
  position: absolute;
  top: 2rem;
  width: 14px;
  height: 14px;
  background: #fff;
  border: 3px solid var(--aranur-fuchsia);
  border-radius: 50%;
  z-index: 2;
}

.company-timeline-entry--left {
  padding-right: 3.5rem;
  text-align: right;
}

.company-timeline-entry--right {
  margin-left: 50%;
  padding-left: 3.5rem;
}

.company-timeline-entry--left::before {
  right: -7px;
}

.company-timeline-entry--right::before {
  left: -7px;
}

.company-timeline-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  align-items: center;
  gap: 1.25rem;
}

.company-timeline-entry--left .company-timeline-card {
  grid-template-columns: minmax(0, 1fr) 150px;
}

.company-timeline-entry--left .company-timeline-image {
  order: 2;
}

.company-timeline-image {
  height: 150px;
  overflow: hidden;
  background: #fff;
}

.company-timeline-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.company-timeline-copy {
  min-width: 0;
}

.company-timeline-year {
  color: var(--aranur-fuchsia-dark);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: .04em;
}

.company-timeline-copy h3 {
  color: var(--aranur-blue-dark);
  line-height: 1.3;
}

.company-timeline-copy p {
  font-size: .92rem;
  line-height: 1.6;
}

@media (max-width: 991.98px) {
  .company-timeline--compact {
    width: min(100%, 760px);
  }

  .company-timeline-card,
  .company-timeline-entry--left .company-timeline-card {
    grid-template-columns: 120px minmax(0, 1fr);
  }

  .company-timeline-entry--left .company-timeline-image {
    order: 0;
  }

  .company-timeline-entry--left {
    text-align: left;
  }

  .company-timeline-image {
    height: 120px;
  }
}

@media (max-width: 767.98px) {
  .company-timeline--compact::before {
    left: 10px;
    transform: none;
  }

  .company-timeline-entry,
  .company-timeline-entry--right {
    width: 100%;
    margin-left: 0;
    padding: 0 0 2rem 2.5rem;
    text-align: left;
  }

  .company-timeline-entry::before,
  .company-timeline-entry--left::before,
  .company-timeline-entry--right::before {
    top: 1.5rem;
    left: 3px;
    right: auto;
  }

  .company-timeline-card,
  .company-timeline-entry--left .company-timeline-card {
    grid-template-columns: 110px minmax(0, 1fr);
  }

  .company-timeline-entry--left .company-timeline-image {
    order: 0;
  }

  .company-timeline-image {
    height: 110px;
  }
}

@media (max-width: 575.98px) {
  .company-timeline-section {
    padding-block: 2.5rem !important;
  }

  .company-timeline-card,
  .company-timeline-entry--left .company-timeline-card {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .company-timeline-image {
    height: 190px;
  }
}


/* ================================================================
   EMPRESA · CALIDAD HOMOLOGADA Y CTA FINAL
   ================================================================ */

.company-quality-section {
  background: #fff;
}

.company-quality-block {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--aranur-gray-300);
}

.company-quality-brand {
  min-height: 320px;
  padding: 2rem;
  background: var(--aranur-gray-100);
  border-right: 1px solid var(--aranur-gray-300);
}

.company-quality-brand__icon {
  color: var(--aranur-blue-dark);
  font-size: 4.5rem;
  line-height: 1;
  margin-bottom: 1rem;
}

.company-quality-brand__title {
  color: var(--aranur-blue-dark);
  font-size: 1.25rem;
  font-weight: 700;
}

.company-quality-brand__caption {
  color: var(--aranur-gray-700);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.company-quality-badge {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: .45rem .8rem;
  color: var(--aranur-blue-dark);
  background: #fff;
  border: 1px solid var(--aranur-gray-300);
  font-size: .76rem;
  font-weight: 700;
}

.company-quality-content {
  min-height: 320px;
  padding: clamp(2rem, 4vw, 4rem);
}

.company-quality-content h2 {
  color: var(--aranur-blue-dark);
}

.company-quality-content__icon {
  color: var(--aranur-fuchsia-dark);
  font-size: 1.35rem;
  line-height: 1.2;
  flex: 0 0 auto;
}

.company-quality-content p {
  max-width: 920px;
  line-height: 1.7;
}

.company-quality-features {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1rem;
  padding: 0;
  list-style: none;
}

.company-quality-features li {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: .55rem .85rem;
  color: var(--aranur-blue-dark);
  background: var(--aranur-gray-100);
  border: 1px solid var(--aranur-gray-300);
  font-size: .78rem;
  font-weight: 700;
}

.company-visit-section {
  background: var(--aranur-gray-100);
}

.company-visit-block {
  padding: clamp(2rem, 4vw, 3rem);
  color: #fff;
  background: var(--aranur-blue-dark);
}

.company-visit-block h2 {
  color: #fff;
}

.company-visit-block p {
  color: rgba(255, 255, 255, .72);
  max-width: 820px;
  line-height: 1.65;
}

.company-visit-block .btn-light {
  min-height: 52px;
  color: var(--aranur-blue-dark);
  background: #fff;
  border-color: #fff;
}

.company-visit-block .btn-light:hover,
.company-visit-block .btn-light:focus {
  color: #fff;
  background: var(--aranur-fuchsia-dark);
  border-color: var(--aranur-fuchsia-dark);
}

@media (max-width: 991.98px) {
  .company-quality-brand {
    min-height: 260px;
    border-right: 0;
    border-bottom: 1px solid var(--aranur-gray-300);
  }

  .company-quality-content {
    min-height: auto;
  }

  .company-visit-block .btn {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .company-quality-section,
  .company-visit-section {
    padding-block: 2.5rem !important;
  }

  .company-quality-brand,
  .company-quality-content,
  .company-visit-block {
    padding: 1.5rem;
  }

  .company-quality-features {
    display: grid;
    grid-template-columns: 1fr;
  }

  .company-quality-features li {
    width: 100%;
  }
}


/* ================================================================
   PÁGINA CONTACTO
   ================================================================ */
.contact-page-header{background:#fff}.contact-page-header .breadcrumb{--bs-breadcrumb-divider:"›";font-size:.88rem}.contact-page-header .breadcrumb-item a{color:var(--aranur-blue);text-decoration:none}.contact-page-header .breadcrumb-item a:hover,.contact-page-header .breadcrumb-item a:focus{color:var(--aranur-fuchsia-dark);text-decoration:underline}.contact-page-header .breadcrumb-item.active{color:var(--aranur-gray-700);font-weight:700}
.contact-hero{padding:clamp(2.5rem,5vw,4.5rem) 0;color:#fff;background:var(--aranur-blue-dark)}.contact-hero__eyebrow{color:#f6b6d9;font-size:.75rem;letter-spacing:.09em}.contact-hero h1{color:#fff;line-height:1.05}.contact-hero .lead{max-width:900px;color:rgba(255,255,255,.78);line-height:1.65}.contact-hero .btn-light{min-height:52px;color:var(--aranur-blue-dark);background:#fff;border-color:#fff}.contact-hero .btn-light:hover,.contact-hero .btn-light:focus{color:#fff;background:var(--aranur-fuchsia-dark);border-color:var(--aranur-fuchsia-dark)}
.contact-main-section{background:var(--aranur-gray-100)}.contact-form-panel,.contact-details-panel,.contact-coverage-panel{background:#fff;border:1px solid var(--aranur-gray-300);border-radius:0;box-shadow:none}.contact-form-panel{padding:clamp(1.5rem,3vw,2.5rem)}.contact-form-heading{padding-bottom:1.25rem;border-bottom:1px solid var(--aranur-gray-300)}.contact-form-heading h2,.contact-details-panel h2,.contact-coverage-panel h2{color:var(--aranur-blue-dark)}
.contact-form .form-label{color:var(--aranur-blue-dark);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.contact-form .form-control,.contact-form .form-select{min-height:48px;color:var(--aranur-gray-900);background-color:#fff;border:1px solid var(--aranur-gray-300);border-radius:0}.contact-form textarea.form-control{min-height:150px;resize:vertical}.contact-form .form-control:focus,.contact-form .form-select:focus,.contact-form .form-check-input:focus{border-color:var(--aranur-blue);box-shadow:0 0 0 .2rem rgba(0,69,128,.18)}.contact-form .form-check-input{border-radius:0}.contact-form .form-text,.contact-form-note{line-height:1.55}.contact-submit-button{width:100%;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;font-weight:700}
.contact-details-panel{padding:clamp(1.5rem,3vw,2.25rem)}.contact-address{display:grid;gap:0;font-style:normal}.contact-detail{display:grid;grid-template-columns:28px minmax(0,1fr);gap:.75rem;padding:1.15rem 0;border-bottom:1px solid var(--aranur-gray-300)}.contact-detail:first-child{padding-top:0}.contact-detail:last-child{padding-bottom:0;border-bottom:0}.contact-detail .bi{color:var(--aranur-fuchsia-dark);font-size:1.15rem}.contact-detail strong,.contact-detail span,.contact-detail a{display:block}.contact-detail strong{color:var(--aranur-blue-dark);margin-bottom:.25rem}.contact-detail span,.contact-detail a{color:var(--aranur-gray-700);line-height:1.55;text-decoration:none}.contact-detail a:hover,.contact-detail a:focus{color:var(--aranur-fuchsia-dark);text-decoration:underline}
.contact-coverage-panel{overflow:hidden}.contact-coverage-visual{min-height:150px;display:flex;align-items:center;justify-content:center;color:var(--aranur-blue-dark);background:linear-gradient(135deg,rgba(0,69,128,.08),rgba(227,0,123,.06));border-bottom:1px solid var(--aranur-gray-300)}.contact-coverage-visual .bi{font-size:4rem}.contact-coverage-content{padding:1.5rem}
@media(max-width:991.98px){.contact-hero .btn{width:100%}}@media(max-width:575.98px){.contact-main-section{padding-block:2.5rem!important}.contact-form-panel,.contact-details-panel,.contact-coverage-content{padding:1.25rem}.contact-hero{padding-block:2.5rem}.contact-hero h1{font-size:clamp(2.25rem,11vw,3rem)}}
