:root{
  /* PDF palette */
  --white:#FFFFFF;
  --alice:#D8E2ED;
  --graphite:#2B2B2B;

  /* Supporting */
  --navy:#0A144B;
  --bg: var(--white);
  --text: var(--graphite);
  --muted: rgba(43,43,43,0.72);
  --border: rgba(216,226,237,0.9);
  --focus: rgba(10,20,75,0.22);

  --maxw:1120px;
  --gutter:24px;
  --header-h:76px;
  --radius:0px; /* rectangular / square corners */

  /* Spacing scale (more airy sections) */
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 22px;
  --space-5: 34px;
  --space-6: 54px;
  --space-7: 74px;
}

*{box-sizing:border-box}
html,body{height:100%}
html{
  scroll-padding-top: var(--header-h);
}
body{
  margin:0;
  font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  padding-top: var(--header-h); /* header is fixed, keep content from sliding underneath */
}
img{display:block;max-width:100%;height:auto}

.container{
  width:min(var(--maxw),calc(100% - (var(--gutter)*2)));
  margin:0 auto;
}

main{padding-bottom: 0}

/* Links */
a{color:inherit;text-decoration:none}
.text-link{
  border-bottom:1px solid rgba(43,43,43,0.35);
}
.text-link:hover{
  border-bottom-color: rgba(43,43,43,0.75);
}
.text-link:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:2px;
}

/* Accessibility */
.skip-link{
  position:absolute;left:-999px;top:10px;
  background:var(--white);color:var(--navy);
  border:1px solid var(--border);
  padding:10px 12px;
  border-radius: 0;
}
.skip-link:focus{left:10px;outline:2px solid var(--focus);outline-offset:2px}

/* Header / Menu */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:9999;
  isolation:isolate; /* ensure it stays on top in its own stacking context */
  background: rgba(255,255,255,0.94);
  border-bottom:1px solid var(--border);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 12px 34px rgba(10,20,75,0.10);
  transform: translateY(0);
  transition: transform 220ms ease;
  will-change: transform;
}
.site-header.is-hidden{
  transform: translateY(-110%);
}
.header-row{
  min-height:var(--header-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  position:relative;
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 0;
}
.brand-logo{
  display:block;
  height: auto;
  max-height: 68px;
  width: auto;
  max-width: 480px;
  object-fit: contain;
}
.brand:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:2px;
  border-radius: 0;
}

.nav{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  justify-content:center;
}
.nav-link{
  font-size:14px;
  font-weight:600;
  padding:10px 10px;
  border-radius: 0;
  color: rgba(43,43,43,0.88);
  border:1px solid transparent;
}
.nav-link:hover{
  background: rgba(216,226,237,0.45);
  border-color: rgba(216,226,237,0.85);
  color: var(--graphite);
}
.nav-link:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:2px;
}
.nav-link.is-active{
  background: rgba(216,226,237,0.60);
  border-color: rgba(216,226,237,0.95);
  color: var(--navy);
}

.nav-menu{
  display:flex;
  align-items:center;
  margin-left:auto;
  position:relative;
  gap:0;
}
.nav-desktop{
  display:flex;
  flex:1;
  justify-content:center;
}
.nav-mobile{
  display:none;
}

/* Mobile header menu (auto-collapses when nav no longer fits on one line) */
.nav-toggle{
  display:none; /* shown only in collapsed mode */
  width:44px;
  height:44px;
  padding:10px;
  align-items:center;
  justify-content:center;
  border-radius: 0;
  border:1px solid rgba(216,226,237,0.95);
  background: rgba(255,255,255,0.85);
  color: var(--navy);
  cursor:pointer;
}
.nav-toggle:hover{
  background: rgba(216,226,237,0.35);
  border-color: rgba(216,226,237,1);
}
.nav-toggle:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:2px;
}
.nav-toggle{
  list-style:none;
  margin:0;
}
.nav-toggle::-webkit-details-marker{
  display:none;
}
summary.nav-toggle::marker{
  display:none;
}
.nav-toggle__icon{
  width: 18px;
  height: 14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.nav-toggle__icon span{
  display:block;
  height:2px;
  width:100%;
  background: rgba(10,20,75,0.92);
  transform-origin: center;
  transition: transform 160ms ease, opacity 160ms ease;
}

.nav-drawer{
  display:none;
}

@media (max-width: 960px){
  .nav-menu{
    margin-left:auto;
    display:flex;
  }

  .nav-desktop{
    display:none;
  }

  .nav{
    display:none;
    position:absolute;
    right:0;
    top:calc(100% + 8px);
    width:min(280px,90vw);
    padding:12px 0 14px;
    flex-direction:column;
    gap:6px;
    align-items:center;
    text-align:center;
    background: rgba(255,255,255,0.92);
    border-bottom:1px solid var(--border);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow:0 12px 34px rgba(10,20,75,0.12);
    z-index:2;
  }
  .nav-mobile .nav-link{
    width:100%;
    text-align:center;
  }

  .nav-toggle{
    display:inline-flex;
    margin-left:auto;
  }

  .nav-menu[open] .nav{
    display:flex;
  }

  .nav-menu[open] .nav-toggle__icon span:nth-child(1){
    transform: translateY(6px) rotate(45deg);
  }
  .nav-menu[open] .nav-toggle__icon span:nth-child(2){
    opacity:0;
  }
  .nav-menu[open] .nav-toggle__icon span:nth-child(3){
    transform: translateY(-6px) rotate(-45deg);
  }
}

@media (min-width: 961px){
  .nav{
    display:flex;
  }
  .nav-desktop{
    display:flex;
  }
  .nav-mobile{
    display:none;
  }
  .nav-menu{
    display:none;
  }
  .nav-toggle{
    display:none;
  }
}

/* Buttons (rectangular) */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 14px;
  border-radius: 0;
  border:1px solid var(--navy);
  font-weight:700;
  font-size:14px;
  letter-spacing:0.2px;
  background:transparent;
  color:var(--navy);
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.btn:hover{transform: translateY(-1px)}
.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

.btn-primary{
  background:var(--navy);
  border-color:var(--navy);
  color:var(--white);
}
.btn-primary:hover{
  background: #0c1a63;
  border-color: #0c1a63;
}
.btn-secondary{
  background: var(--alice);
  border-color: rgba(216,226,237,0.95);
  color: var(--navy);
}
.btn-secondary:hover{
  background: #cfdceb;
  border-color: #cfdceb;
}
.btn-ghost{
  border-color: rgba(43,43,43,0.22);
  color: rgba(43,43,43,0.92);
}
.btn-ghost:hover{
  background: rgba(216,226,237,0.35);
  border-color: rgba(216,226,237,0.85);
}

/* Button variants */
.btn-lg{
  min-height: 52px;
  padding: 14px 22px;
  font-size: 15px;
}
.btn-white{
  background: rgba(255,255,255,0.92);
  border-color: rgba(255,255,255,0.70);
  color: var(--navy);
}
.btn-white:hover{
  background: rgba(255,255,255,0.98);
  border-color: rgba(255,255,255,0.88);
}
.btn-xl{
  min-height: 74px;
  padding: 18px 28px;
  font-size: 16px;
}

/* Sections */
.page-banner{
  position: relative;
  overflow: hidden;
  padding: clamp(48px, 7vw, 92px) 0;
  background: var(--navy);
  user-select: none; /* background image should not be selectable */
  -webkit-user-select: none;
}
.page-banner::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: var(--banner-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  pointer-events:none;
}
.page-banner::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(10,20,75,0.55); /* dark overlay for white title */
  pointer-events:none;
}
.page-banner .container{
  position: relative;
  z-index: 1;
}
.page-banner__title{
  margin: 0;
  color: var(--white);
  letter-spacing: -0.4px;
  line-height: 1.12;
  font-size: clamp(28px, 3.2vw, 44px);
}

.section{
  padding: var(--space-7) 0;
  border-top: none;
}
.section--spacious{
  padding: calc(var(--space-7) + 10px) 0;
}
.section#values,
.section#features,
.section#faq{
  /* Increase text size in these three sections while preserving hierarchy */
  --type-scale: 1.15;
}

/* Values page: keep "Our values" consistent with rest of page */
.page-values #values{
  --type-scale: 1;
}
.section--soft{
  background: rgba(216,226,237,0.22);
}
.section--alt{
  background: rgba(216,226,237,0.22);
}
.section--elevated{
  position: relative;
  z-index: 1;
  background: var(--white);
  box-shadow:
    0 -18px 44px rgba(10,20,75,0.08),
    0  18px 44px rgba(10,20,75,0.08);
}
.section-title{
  margin: 0 0 8px;
  font-size: clamp(22px, 2.2vw, 30px);
  letter-spacing: -0.2px;
  color: var(--navy);
}
.muted{color: var(--muted)}

.kicker{
  margin: 0 0 8px;
  color: var(--navy);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.9px;
  font-size: 12px;
}
.kicker--on-dark{color: rgba(255,255,255,0.85)}
.section-lead{
  margin: 0 0 var(--space-5);
  color: var(--muted);
  max-width: 72ch;
  font-size: 16px;
}

/* =======================================================================
   Home (index) — Paneles / KPI / Ventajas / Confianza (home2)
   IMPORTANTE: prefijado con .home2-... para evitar colisiones
   ======================================================================= */

/* Bands (control de alto de sección en Home) */
.home2-kpi-band,
.home2-advantages-band,
.home2-logos-band,
.home2-trust-alt-band{
  /* Punto medio entre el espaciado original (44px) y el aumento anterior */
  padding-top: clamp(54px, 6vw, 72px);
  padding-bottom: clamp(54px, 6vw, 72px);
}

.home2-kpi-band{background: var(--white);}
.home2-trust-alt-band{
  /* Más aire al final de la banda (debajo de "User comments") */
  padding-bottom: clamp(72px, 7vw, 96px);
}

.home2-trust-alt{
  display: grid;
  /* Más separación entre "certification mark" y "user comments" */
  gap: clamp(44px, 6vw, 64px);
}

/* Panel wrapper (hacerlo “invisible”: sin tarjeta exterior) */
.home2-panel{
  background: transparent;
  border: none;
  box-shadow: none;
  border-radius: 0;
  /* Mantener algo de aire sin parecer “tarjeta” */
  padding: 14px 0;
}

/* Cabecera del panel (títulos alineados a la izquierda) */
.home2-panel__title{
  text-align: left;
  margin-bottom: 23px;
}

/* Rejilla KPI */
.home2-kpi{
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home2-kpi__item{
  border: 1px solid #eef0f3;
  border-radius: 0;
  padding: 18px 18px;
  /* Igual que el fondo de "Key Advantages" (section--alt) */
  background: rgba(216,226,237,0.22);
  transition: transform 160ms ease, border-color 160ms ease;
}
.home2-kpi__item:hover{transform: translateY(-2px); border-color: #d7dce3;}

.home2-kpi__label{font-size: 13px; letter-spacing: 0.02em; color: #475569;}
.home2-kpi__value{margin-top: 6px; font-size: 28px; font-weight: 700; color: #0f172a; line-height: 1.1;}
.home2-kpi__unit{font-size: 16px; font-weight: 600; margin-left: 2px; color: #334155;}
.home2-kpi__note{margin-top: 6px; font-size: 13px; color: #64748b;}

/* Rejilla de ventajas */
.home2-advantages{
  margin-top: 12px;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home2-adv{
  border: 1px solid #eef0f3;
  border-radius: 0;
  padding: 18px 18px;
  background: #ffffff;
  transition: transform 160ms ease, border-color 160ms ease;
}
.home2-adv:hover{transform: translateY(-2px); border-color: #d7dce3;}

.home2-adv__icon{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  background: #f8fafc;
  position: relative;
  margin-bottom: 12px;
}
.home2-adv__icon::after{
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 3px;
  border-right: 2px solid #0f172a;
  border-bottom: 2px solid #0f172a;
  transform: rotate(35deg);
  opacity: 0.55;
}

.home2-adv__title{margin: 0 0 6px 0; font-size: clamp(17px, 1.55vw, 19px);}
.home2-adv__text{margin: 0; font-size: 14px; color: #475569; line-height: 1.5;}

/* Bloques de confianza */
.home2-trust-band{
  background: var(--white);
  border-top: 1px solid rgba(216,226,237,0.9);
}
.home2-trust-band .home2-trust{
  margin-top: 0;
}
.home2-trust{display: grid; gap: 20px; margin-top: 10px;}
.home2-trust__block{
  border: 1px solid #eef0f3;
  border-radius: 0;
  padding: 16px;
  background: #ffffff;
}
.home2-subtitle{margin: 0 0 14px 0; font-size: 14px; text-transform: none; color: #0f172a;}

/* Muro de logos */
.home2-logos{display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr));}
.home2-logo{
  height: 46px;
  border-radius: 0;
  border: 1px dashed #dbe2ea;
  background: #ffffff;
  display: grid;
  place-items: center;
  font-size: 13px;
  color: #64748b;
}

/* Slider de logos (sección independiente) */
.home2-logo-slider{
  position: relative;
  overflow: hidden;
  border: none;
  background: transparent;
  padding: 12px 0;
  margin-top: 4px;
}
.home2-logo-slider{
  -webkit-mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
}
.home2-logo-track{
  display: flex;
  width: max-content;
  animation: home2-logo-scroll 45s linear infinite;
  will-change: transform;
}
.home2-logo-group{
  display: flex;
  gap: 14px;
  padding-right: 14px;
}
.home2-logo--slide{
  flex: 0 0 auto;
  width: clamp(140px, 18vw, 200px);
}

@keyframes home2-logo-scroll{
  from{transform: translateX(0)}
  to{transform: translateX(-50%)}
}

/* Galería de certificaciones (placeholders rectangulares, tamaños variables) */
.home2-cert-gallery{
  margin-top: 8px;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: 90px;
  grid-auto-flow: row;
}

.home2-cert{
  border: 1px dashed #dbe2ea;
  background: #ffffff;
  display: grid;
  place-items: center;
  padding: 12px;
  color: #64748b;
}

.home2-cert__label{
  font-size: 13px;
  line-height: 1.2;
  text-align: center;
}

/* Layout solicitado:
   - Fila 1: 2 marcas iguales (6/12 cada una)
   - Fila 2: 3 marcas iguales (4/12 cada una)
   - Fila 3: 4 marcas iguales (3/12 cada una)
   Total: 9 placeholders */
.home2-cert-gallery > .home2-cert:nth-child(-n+2){grid-column: span 6;}
.home2-cert-gallery > .home2-cert:nth-child(n+3):nth-child(-n+5){grid-column: span 4;}
.home2-cert-gallery > .home2-cert:nth-child(n+6):nth-child(-n+9){grid-column: span 3;}

/* Badges de certificación (placeholders) */
.home2-badges{display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr));}
.home2-badge{
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 10px;
  align-items: center;
  padding: 14px;
  border-radius: 0;
  border: 1px solid #e8edf3;
  background: #ffffff;
}
.home2-badge__mark{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  background: #f8fafc;
}
.home2-badge__text strong{display: block; font-size: 14px; color: #0f172a;}
.home2-badge__text span{display: block; margin-top: 2px; font-size: 13px; color: #64748b;}

/* Citas */
.home2-quotes{display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr));}
.home2-quote{
  margin: 0;
  padding: 14px;
  border-radius: 0;
  border: 1px solid #e8edf3;
  background: #ffffff;
}
.home2-quote p{margin: 0 0 8px 0; font-size: 14px; color: #334155; line-height: 1.55;}
.home2-quote footer{font-size: 13px; color: #64748b;}

/* Unificación: recuadros internos en blanco y con esquinas rectas
   (excepto KPI cards, que ahora son grises) */
:where(
  .home2-adv,
  .home2-logo,
  .home2-badge,
  .home2-quote
){
  background: #ffffff;
  border-radius: 0;
}

/* Responsive */
@media (max-width: 980px){
  .home2-kpi{grid-template-columns: repeat(2, minmax(0, 1fr));}
  .home2-advantages{grid-template-columns: repeat(2, minmax(0, 1fr));}
  .home2-logos{grid-template-columns: repeat(3, minmax(0, 1fr));}
  .home2-quotes{grid-template-columns: 1fr;}
  .home2-badges{grid-template-columns: 1fr;}
  .home2-logo--slide{width: clamp(140px, 42vw, 220px);}
}

@media (max-width: 640px){
  .home2-kpi{grid-template-columns: 1fr;}
  .home2-advantages{grid-template-columns: 1fr;}
  .home2-logos{grid-template-columns: repeat(2, minmax(0, 1fr));}
  /* En móvil: 2 columnas para legibilidad */
  .home2-cert-gallery{grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 72px;}
  .home2-cert-gallery > .home2-cert{grid-column: span 1;}
}

@media (prefers-reduced-motion: reduce){
  .home2-logo-track{animation: none}
}

/* ===== Targeted type scaling (Values / Platform / FAQ) ===== */
#values .kicker,
#features .kicker,
#faq .kicker{
  font-size: calc(12px * var(--type-scale));
}
#values .section-title,
#features .section-title,
#faq .section-title{
  font-size: clamp(
    calc(22px * var(--type-scale)),
    calc(2.2vw * var(--type-scale)),
    calc(30px * var(--type-scale))
  );
}
#values .section-lead,
#features .section-lead,
#faq .section-lead{
  font-size: calc(16px * var(--type-scale));
}
#values .value-title{
  font-size: calc(16px * var(--type-scale));
}
#values .value-text{
  font-size: calc(14px * var(--type-scale));
}
#features .card-title{
  font-size: calc(16px * var(--type-scale));
}
#features .card-text{
  font-size: calc(14px * var(--type-scale));
}
#faq .faq-item > summary{
  font-size: calc(16px * var(--type-scale));
}
#faq .faq-body{
  font-size: calc(14px * var(--type-scale));
}

/* Grids / Cards */
.grid{
  display:grid;
  gap: var(--space-4);
}

.grid-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-4{
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.feature-gallery{
  margin: var(--space-7) 0 var(--space-5);
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.feature-gallery-inner{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  align-items:start;
}
.feature-shot{
  margin: 0;
  border: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
  border-radius: 0;
}
.feature-shot img{
  width: 100%;
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(255,255,255,0.92);
  box-shadow: 0 18px 60px rgba(10,20,75,0.10);
}
@media (max-width: 1080px){
  .feature-gallery-inner{
    grid-template-columns: 1fr;
  }
  .feature-shot img{
    max-width: 66.666%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 720px){
  .feature-shot img{
    max-width: 100%;
  }
}
.card{
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(255,255,255,0.78);
  border-radius: 0;
  padding: 18px;
  box-shadow: 0 18px 60px rgba(10,20,75,0.06);
}
.card-icon{
  width: 40px;
  height: 40px;
  display:grid;
  place-items:center;
  border-radius: 0;
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(216,226,237,0.55);
  color: var(--navy);
  margin-bottom: 10px;
}
.card-icon svg{width:20px;height:20px}
.card-title{
  margin: 0 0 6px;
  color: var(--navy);
  letter-spacing: -0.2px;
  font-size: 16px;
}
.card-text{
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

/* Values (icon + text, no card background) */
.values-grid{
  /* Increase spacing between the subtitle and the values icons */
  margin-top: calc(var(--space-5) + 12px);
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
}
.value{
  text-align:center;
  display:grid;
  justify-items:center;
  align-content:start;
  gap: 12px;
}
.value-icon{
  display:grid;
  place-items:center;
  color: var(--navy);
  /* Remove the “box” around the icon */
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.value-icon svg{
  width: 64px;
  height: 64px;
}
.values-grid svg{
  width: 64px;
  height: 64px;
  stroke: currentColor;
  fill: none;
}
.values-grid svg path{
  fill: none;
}
.value-title{
  margin: 0;
  color: var(--navy);
  letter-spacing: -0.2px;
  font-size: 16px;
}
.value-text{
  margin: 0;
  margin-top: 4px; /* add a bit of separation from the title */
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  width: 100%;
  max-width: 38ch;
  text-align: justify;          /* straight edges */
  text-align-last: left;        /* keep the last line visually left */
  hyphens: auto;                /* reduce large gaps in justified text */
  -webkit-hyphens: auto;
}

/* Typography helpers */
.h3{
  margin: 0 0 10px;
  color: var(--navy);
  letter-spacing: -0.2px;
  font-size: 18px;
}
.p{
  margin: 0 0 12px;
  color: var(--muted);
}

/* Legal documents (tables, spacing) */
.legal-doc{
  max-width: 92ch;
}
.legal-doc .table-wrap{
  margin-top: 12px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(255,255,255,0.78);
  box-shadow: 0 18px 60px rgba(10,20,75,0.04);
}
.legal-doc table{
  width: 100%;
  border-collapse: collapse;
  min-width: 680px; /* allow horizontal scroll on small screens */
}
.legal-doc th,
.legal-doc td{
  border: 1px solid rgba(216,226,237,0.85);
  padding: 10px 12px;
  vertical-align: top;
}
.legal-doc th{
  background: rgba(216,226,237,0.22);
  color: var(--navy);
  font-weight: 800;
  text-align: left;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  font-size: 12px;
}
.legal-doc td{
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}
.legal-doc code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.95em;
}

/* Bulleted lists (used in Purpose section) */
.bullets{
  margin: 10px 0 0;
  padding-left: 18px;
  color: var(--muted);
}
.bullets li{margin: 8px 0; line-height: 1.7}
.bullets--compact{
  margin-top: 12px;
}
.bullets--compact li{margin: 6px 0}

/* Two column layouts */
.two-col{
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--space-5);
  align-items: start;
}
.two-col--about{margin-top: var(--space-5)}

/* Stack (right column in Purpose section) */
.stack{
  display:grid;
  gap: var(--space-4);
  align-content: start;
}

/* Callouts */
.callout{
  margin-top: var(--space-5);
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(216,226,237,0.18);
  padding: 18px;
  box-shadow: 0 18px 60px rgba(10,20,75,0.04);
}
.callout--soft{
  background: rgba(216,226,237,0.14);
}
.callout-title{
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 15px;
  letter-spacing: -0.2px;
}
.callout-list{
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
}
.callout-list li{margin: 8px 0; line-height: 1.7}
.callout-foot{
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

/* Stats */
.stats{
  margin-top: var(--space-4);
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}
.stat{
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(255,255,255,0.78);
  padding: 14px;
}
.stat-number{
  font-weight: 800;
  font-size: 22px;
  color: var(--navy);
  letter-spacing: -0.3px;
  line-height: 1.0;
}
.stat-label{
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

/* Visual placeholder card */
.visual-card{
  border: 1px solid rgba(216,226,237,0.95);
  background:
    radial-gradient(closest-side at 70% 30%, rgba(216,226,237,0.95), rgba(216,226,237,0) 64%),
    radial-gradient(closest-side at 30% 80%, rgba(10,20,75,0.10), rgba(10,20,75,0) 64%),
    rgba(255,255,255,0.78);
  min-height: 320px;
  box-shadow: 0 18px 60px rgba(10,20,75,0.08);
  overflow:hidden;
}
.visual-card__inner{
  padding: 18px;
}
.visual-card__title{
  margin: 0 0 8px;
  color: rgba(10,20,75,0.92);
  font-weight: 800;
  letter-spacing: -0.2px;
}
.visual-card__text{
  margin: 0;
  color: var(--muted);
}

/* Values emoji icon */
.emoji{
  font-size: 22px;
  line-height: 1;
  margin-bottom: 10px;
}
.card--value .card-title{font-size: 15px}

/* Services cards */
.service{
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(255,255,255,0.78);
  box-shadow: 0 18px 60px rgba(10,20,75,0.06);
}
.service-head{
  padding: 14px 16px;
  background: rgba(10,20,75,0.92);
  border-bottom: 1px solid rgba(216,226,237,0.55);
}
.service-title{
  margin: 0;
  color: rgba(255,255,255,0.94);
  font-size: 15px;
  letter-spacing: -0.2px;
}
.service-body{padding: 16px}

/* Split section */
.split{
  display:grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 18px;
  align-items: start;
}
.icon-list{
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display:grid;
  gap: 10px;
  max-width: 78ch;
}
.icon-list li{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(216,226,237,0.85);
  border-radius: 0;
  background: rgba(255,255,255,0.65);
}
.mini-icon{
  width: 28px;
  height: 28px;
  border-radius: 0;
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(216,226,237,0.55);
  color: var(--navy);
  display:grid;
  place-items:center;
  flex: 0 0 auto;
}
.mini-icon svg{width:16px;height:16px}
.icon-list strong{color: rgba(10,20,75,0.95)}

.split-actions{
  margin-top: 14px;
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

.split-panel{
  position: relative;
}
.panel-surface{
  border-radius: 0;
  border: 1px solid rgba(216,226,237,0.95);
  background:
    radial-gradient(closest-side at 70% 30%, rgba(216,226,237,0.95), rgba(216,226,237,0) 64%),
    radial-gradient(closest-side at 28% 70%, rgba(10,20,75,0.10), rgba(10,20,75,0) 64%),
    rgba(255,255,255,0.78);
  min-height: 260px;
  box-shadow: 0 18px 60px rgba(10,20,75,0.08);
  overflow:hidden;
}
.panel-top{
  height: 44px;
  border-bottom: 1px solid rgba(216,226,237,0.85);
  background: rgba(255,255,255,0.55);
}
.panel-lines{
  height: 1px;
}
.panel-blocks{
  position:absolute;
  inset: 62px 14px 14px 14px;
  background:
    linear-gradient(rgba(10,20,75,0.08), rgba(10,20,75,0.08)) 0 0/60% 10px no-repeat,
    linear-gradient(rgba(10,20,75,0.06), rgba(10,20,75,0.06)) 0 22px/85% 10px no-repeat,
    linear-gradient(rgba(10,20,75,0.06), rgba(10,20,75,0.06)) 0 44px/75% 10px no-repeat,
    linear-gradient(rgba(216,226,237,0.85), rgba(216,226,237,0.85)) 0 80px/100% 1px no-repeat,
    linear-gradient(rgba(10,20,75,0.08), rgba(10,20,75,0.08)) 0 96px/55% 10px no-repeat,
    linear-gradient(rgba(10,20,75,0.06), rgba(10,20,75,0.06)) 0 118px/82% 10px no-repeat;
  opacity: 0.95;
}

/* Steps */
.steps{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.step{
  border: 1px solid rgba(216,226,237,0.95);
  border-radius: 0;
  background: rgba(255,255,255,0.78);
  padding: 16px;
  box-shadow: 0 18px 60px rgba(10,20,75,0.06);
}
.step-badge{
  width: 34px;
  height: 34px;
  border-radius: 0;
  display:grid;
  place-items:center;
  background: rgba(10,20,75,0.10);
  border: 1px solid rgba(216,226,237,0.95);
  color: var(--navy);
  font-weight: 800;
  margin-bottom: 10px;
}

/* FAQ */
.faq{
  margin-top: var(--space-4);
  display:grid;
  gap: 12px;
  max-width: 92ch;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* FAQ page: center the whole FAQ column inside the container */
#faq .kicker,
#faq .section-title,
#faq .section-lead{
  margin-left: auto;
  margin-right: auto;
}
#faq .kicker,
#faq .section-title{
  max-width: 92ch; /* match accordion width for consistent centering */
}
#faq .section-lead{
  max-width: 92ch; /* align lead edges with accordion/title on FAQ page */
}
.faq-item{
  border: 1px solid rgba(216,226,237,0.95);
  border-radius: 0;
  background: rgba(255,255,255,0.84);
  padding: 0;
  box-shadow: 0 18px 60px rgba(10,20,75,0.04);
}
.faq-item > summary{
  cursor:pointer;
  font-weight: 700;
  color: var(--navy);
  list-style: none;
  padding: 16px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}
.faq-item > summary::-webkit-details-marker{display:none}
.faq-item > summary::after{
  content:"+";
  font-weight: 900;
  color: rgba(10,20,75,0.85);
  flex: 0 0 auto;
}
.faq-item[open] > summary::after{content:"–"}
.faq-item > summary:focus-visible{
  outline:2px solid var(--focus);
  outline-offset:2px;
  border-radius: 0;
}
.faq-body{
  padding: 0 16px 16px 16px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

/* Contact showcase (alternating media/text) */
.contact-showcase{
  background: var(--white);
}
.contact-showcase__intro-inner{
  /* 10% extra por cada lado vs items (820px -> 984px) */
  max-width: 984px;
  width: 100%;
  margin: 0 auto;
  padding: 0 clamp(18px, 5vw, 44px);
}
.contact-showcase__inner{
  max-width: 820px;
  width: 100%;
  margin: 0 auto;
  padding: 0 clamp(18px, 5vw, 44px);
  display:grid;
  gap: clamp(26px, 5vw, 44px);
}
.contact-showcase__intro{
  padding-top: clamp(34px, 6vw, 70px);
  padding-bottom: clamp(54px, 10vw, 132px);
}
.contact-showcase__title{
  margin: 0 0 10px;
  color: var(--navy);
  font-weight: 700;
  letter-spacing: -0.4px;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.15;
}
.contact-showcase__lead{
  margin: 0;
  color: var(--muted);
  font-size: 16px; /* mantener tamaño de texto */
  line-height: 1.75;
}
.contact-duo{
  display:grid;
  grid-template-columns: 1fr;
  grid-template-areas:
    "media"
    "content";
  align-items: stretch;
  gap: clamp(16px, 3.2vw, 32px);
}
.contact-duo__media{
  grid-area: media;
  position: relative;
  border: 1px solid rgba(216,226,237,0.95);
  background: linear-gradient(135deg, rgba(216,226,237,0.35), rgba(216,226,237,0.18));
  aspect-ratio: 21 / 9;
  min-height: clamp(96px, 22vw, 140px);
  display:grid;
  place-items:center;
  color: rgba(43,43,43,0.62);
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}
.contact-duo__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}
.contact-duo__content{
  grid-area: content;
  display:grid;
  align-content: start;
  gap: 10px;
}
.contact-duo__title{
  margin: 0;
  color: var(--navy);
  font-size: clamp(18px, 2vw, 22px);
  letter-spacing: -0.2px;
  font-weight: 700;
}
.contact-duo__text{
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

/* Solutions: match intro lead size (do not affect Contact page) */
.page-solutions .contact-duo__text{
  font-size: 16px;
}

/* Solutions features block: 3 large rows, diagonal alternation */
.page-solutions .solutions-overview{
  /* Extra separation before the Contact band */
  padding-bottom: calc(var(--space-7) + clamp(18px, 4vw, 56px));
}
.page-solutions .solutions-features{
  display: grid;
  gap: clamp(42px, 6vw, 86px);
}
/* Mobile-first: consistent stacking (text first, image second) */
.page-solutions .solutions-features .contact-duo{
  grid-template-areas:
    "content"
    "media";
  align-items: start;
  gap: clamp(18px, 3.2vw, 40px);
}
.page-solutions .solutions-features .contact-duo__media{
  aspect-ratio: auto;
  min-height: 0;
  height: auto;
  border-radius: 0;
  overflow: visible;
  background: rgba(216,226,237,0.18);
}
.page-solutions .solutions-features .contact-duo__media img{
  width: 100%;
  height: auto;
  object-fit: contain;
}
.page-solutions .solutions-features .contact-duo__content{
  align-content: start;
}
.page-solutions .solutions-features .contact-duo__text{
  max-width: 72ch;
}
@media (min-width: 768px){
  .contact-duo{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 1fr;
  }
  .contact-duo--text-first{
    grid-template-areas: "content media";
  }
  .contact-duo--media-first{
    grid-template-areas: "media content";
  }
  .contact-duo__media{
    aspect-ratio: auto;
    min-height: 0;
    height: 100%;
  }
  /* Restore diagonal alternation on desktop for Solutions */
  .page-solutions .solutions-features .contact-duo--text-first{
    grid-template-areas: "content media";
  }
  .page-solutions .solutions-features .contact-duo--media-first{
    grid-template-areas: "media content";
  }
  /* Keep Solutions media "hero-like" height on desktop too */
  .page-solutions .solutions-features .contact-duo__media{
    height: auto;
  }
}

/* Contact band (navy) */
.contact-band{
  background: rgba(10,20,75,0.98);
  color: rgba(255,255,255,0.92);
  padding: calc(var(--space-7) + 14px) 0;
  border-top: 1px solid rgba(216,226,237,0.15);
}
.contact-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-5);
  align-items: center;
}
.contact-copy{max-width: 62ch}
.contact-right{
  display:grid;
  gap: var(--space-4);
  justify-items: stretch;
  align-self: center;
}
.contact-email-box{
  border: 1px solid rgba(234,243,255,0.22);
  background: rgba(255,255,255,0.04);
  padding: 14px 16px;
  min-height: 112px;
  display:grid;
  align-content: center;
  gap: 8px;
  box-shadow: 0 18px 60px rgba(0,0,0,0.18);
}
.contact-email-label{
  text-transform: uppercase;
  letter-spacing: 1.1px;
  font-size: 12px;
  color: rgba(234,243,255,0.78);
  font-weight: 700;
}
.contact-email-value{
  color: rgba(255,255,255,0.96);
  font-size: clamp(12px, 1.6vw, 16px);
  letter-spacing: 0.2px;
  font-weight: 500;
}
.contact-cta{
  width: 100%;
  box-shadow:
    0 18px 60px rgba(0,0,0,0.28),
    0 10px 34px rgba(0,0,0,0.18);
}
.contact-cta:hover{
  transform: translateY(-1px);
}
.contact-title{
  margin: 0 0 10px;
  letter-spacing: -0.6px;
  color: rgba(255,255,255,0.96);
  font-size: clamp(22px, 2.2vw, 34px);
}
.contact-lead{
  margin: 0;
  color: rgba(234,243,255,0.78);
  max-width: 68ch;
  line-height: 1.7;
}
.contact-details{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3);
}
.detail{
  border: 1px solid rgba(234,243,255,0.16);
  background: rgba(255,255,255,0.04);
  padding: 14px;
}
.detail-label{
  text-transform: uppercase;
  letter-spacing: 0.9px;
  font-size: 12px;
  color: rgba(234,243,255,0.78);
  margin-bottom: 6px;
  font-weight: 700;
}
.detail-value{
  color: rgba(255,255,255,0.92);
  font-size: 14px;
}
.text-link--on-dark{
  border-bottom-color: rgba(234,243,255,0.35);
}
.text-link--on-dark:hover{
  border-bottom-color: rgba(234,243,255,0.75);
}

/* (Removed old contact box/form styles in favor of right-column layout) */

/* Contact page (simple, no-JS form) */
.contact-page-grid{
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: var(--space-5);
  align-items: start;
}
.contact-info{
  margin-top: var(--space-4);
  display: grid;
  gap: 14px;
}
.contact-info__item{
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 14px;
  align-items: start;
}
.contact-info__item--spaced{
  margin-top: 10px; /* small visual break like reference */
}
.contact-info__icon{
  color: rgba(10,20,75,0.92);
  margin-top: 2px;
}
.contact-info__label{
  text-transform: uppercase;
  letter-spacing: 0.9px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(10,20,75,0.94);
  line-height: 1.2;
  margin: 0 0 4px;
}
.contact-info__value{
  font-size: 13px;
  color: rgba(43,43,43,0.70);
  line-height: 1.45;
}
.contact-info__link{
  border-bottom: 1px solid rgba(43,43,43,0.30);
}
.contact-info__link:hover{
  border-bottom-color: rgba(43,43,43,0.70);
}
.contact-info__link:focus-visible{
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}
.contact-page-card{
  border: 1px solid var(--border);
  background: var(--white);
  padding: clamp(18px, 3vw, 28px);
  box-shadow: 0 18px 44px rgba(10,20,75,0.08);
}
.contact-form{
  display: grid;
  gap: 14px;
}
.contact-field{
  display: grid;
  gap: 8px;
}
.contact-label{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.9px;
  font-weight: 700;
  color: rgba(10,20,75,0.86);
}
.contact-input,
.contact-textarea{
  width: 100%;
  border: 1px solid rgba(216,226,237,0.95);
  border-radius: 0;
  padding: 12px 12px;
  font: inherit;
  color: var(--text);
  background: var(--white);
}
.contact-textarea{
  min-height: 160px;
  resize: vertical;
  line-height: 1.6;
}
.contact-input:focus-visible,
.contact-textarea:focus-visible{
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}
.contact-help{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}
@media (max-width: 900px){
  .contact-page-grid{
    grid-template-columns: 1fr;
  }
}

/* Buttons inside dark band */
.contact-band .btn{border-color: rgba(234,243,255,0.22)}
.contact-band .btn-ghost{color: rgba(255,255,255,0.92)}
.contact-band .btn-secondary{
  background: rgba(216,226,237,0.22);
  border-color: rgba(216,226,237,0.32);
  color: rgba(255,255,255,0.92);
}
.contact-band .btn-secondary:hover{
  background: rgba(216,226,237,0.30);
  border-color: rgba(216,226,237,0.40);
}
.contact-band .btn-white{
  background: rgba(255,255,255,0.95);
  border-color: rgba(255,255,255,0.70);
  color: var(--navy);
}
.contact-band .btn-white:hover{
  background: rgba(255,255,255,1);
  border-color: rgba(255,255,255,0.88);
}

@media (max-width: 980px){
  .grid-3{grid-template-columns: 1fr}
  .grid-4{grid-template-columns: 1fr}
  .values-grid{grid-template-columns: repeat(2, minmax(0, 1fr))}
  /* On smaller screens, center the value text instead of justifying it */
  .value-text{
    text-align: center;
    text-align-last: center;
    hyphens: manual;
    -webkit-hyphens: manual;
  }
  .two-col{grid-template-columns: 1fr}
  .stats{grid-template-columns: 1fr}
  .steps{grid-template-columns: 1fr}
  .split{grid-template-columns: 1fr}
  .brand-logo{max-width: 220px}
  .contact-grid{grid-template-columns: 1fr}
  .contact-details{grid-template-columns: 1fr}
  .btn-xl{min-height: 64px}
}

@media (max-width: 560px){
  .values-grid{grid-template-columns: 1fr}
  .value-text{
    text-align: center;
    text-align-last: center;
    hyphens: manual;
    -webkit-hyphens: manual;
  }
}

@media (prefers-reduced-motion: reduce){
  .btn{transition:none}
  .btn:hover{transform:none}
}

/* Footer (dark gray) */
.site-footer{
  background: #0f0f12;
  color: rgba(255,255,255,0.86);
  border-top: none;
}
.footer-top{
  padding: 26px 0;
}
.footer-links{
  display:flex;
  gap: 18px;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}
.footer-link{
  color: rgba(255,255,255,0.86);
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 0.2px;
}
.footer-link:hover{
  color: rgba(255,255,255,0.98);
  opacity: 0.95;
}
.footer-link:focus-visible{
  outline: 2px solid rgba(216,226,237,0.35);
  outline-offset: 2px;
}
.footer-link--muted{
  color: rgba(255,255,255,0.72);
}
.footer-bottom{
  padding: 16px 0;
}
.footer-bottom-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 12px;
  flex-wrap: wrap;
  text-align: center;
}
.footer-meta{
  font-size: 13px;
  color: rgba(255,255,255,0.74);
}

@media (max-width: 640px){
  .footer-bottom-row{
    flex-direction: column;
    align-items: center;
  }
}

/* =======================================================================
   Support (NEW) — Technical support block
   IMPORTANT: prefixed with .support2-... to avoid collisions
   ======================================================================= */

.support2-technical-support{
  background: rgba(216,226,237,0.18);
}

.support2-panel{
  margin-top: var(--space-4);
  /* Hacer el contenedor exterior “invisible” (sin tarjeta exterior) */
  border: none;
  background: transparent;
  border-radius: 0;
  padding: 14px 0;
  box-shadow: none;
}

.support2-subsection + .support2-subsection{
  /* Más aire entre: Technical help / Self-service inquiry / Download Center */
  margin-top: clamp(34px, 4.2vw, 54px);
}

.support2-subtitle{
  margin: 0 0 14px;
  text-align: left;
  color: var(--navy);
  letter-spacing: -0.2px;
  font-size: clamp(16px, 1.8vw, 18px);
  font-weight: 700;
}

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

.support2-card{
  border: 1px solid rgba(216,226,237,0.95);
  background: #ffffff;
  border-radius: 0;
  box-shadow: none;
  padding: 0;            /* padding se mueve a .support2-card__body */
  overflow: hidden;      /* asegura imagen “a sangre” sin gutters */
}

.support2-card__media{
  padding: 0;
  margin: 0;
}

.support2-card__body{
  padding: 18px;
  display: grid;
  gap: 10px;
  align-content: start;
}

.support2-card__image{
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
  display: block;
  border-radius: 0;
  border: 0; /* evita doble borde: la tarjeta ya tiene border */
  margin: 0;
  background: rgba(216,226,237,0.18);
}

.support2-card:hover{
  background: rgba(255,255,255,0.96);
  border-color: rgba(216,226,237,1);
}

.support2-card__title{
  margin: 0;
  color: var(--navy);
  letter-spacing: -0.2px;
  font-size: 15px;
  font-weight: 800;
}

.support2-card__text{
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}

.support2-btn.btn{
  justify-self: start;
  min-height: 38px;
  padding: 9px 12px;
  font-size: 13px;
  border-radius: 0;
}

/* Download Center */
.support2-download-grid{
  display:grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.support2-download-card{
  border: 1px solid rgba(216,226,237,0.95);
  background: #ffffff;
  border-radius: 0;
  padding: 18px;
  box-shadow: none;
  display:grid;
  align-content: start;
  gap: 12px;
}

.support2-download-title{
  margin: 0;
  color: var(--navy);
  letter-spacing: -0.2px;
  font-size: 15px;
  font-weight: 800;
}

.support2-download-list{
  margin: 0;
  padding: 0;
  list-style: none;
  display:grid;
  gap: 10px;
}

.support2-download-item{
  margin: 0;
}

.support2-download-link{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 0;
  border: 1px solid rgba(216,226,237,0.75);
  background: #ffffff;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.support2-download-link:hover{
  background: rgba(216,226,237,0.22);
  border-color: rgba(216,226,237,0.95);
  text-decoration: none;
}

.support2-download-link:focus-visible{
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}

.support2-download-name{
  color: rgba(43,43,43,0.92);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.45;
}

.support2-download-badge{
  flex: 0 0 auto;
  align-self: flex-start;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: rgba(10,20,75,0.92);
  border: 1px solid rgba(216,226,237,0.95);
  background: rgba(216,226,237,0.35);
  padding: 4px 8px;
  border-radius: 999px;
}

/* Professional services */
.support2-subsection--services{
  padding-top: 2px;
}

.support2-services-title{
  margin: 0 0 12px;
  text-align: left;
  color: var(--navy);
  letter-spacing: -0.2px;
  font-size: clamp(16px, 1.8vw, 18px);
  font-weight: 700;
}

.support2-services-list{
  margin: 0;
  padding-left: 20px;
  color: var(--muted);
  line-height: 1.8;
}

.support2-services-list li{
  margin: 8px 0;
}

/* Responsive: 3 -> 2 -> 1 columns */
@media (max-width: 980px){
  .support2-cardgrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .support2-download-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px){
  .support2-cardgrid{
    grid-template-columns: 1fr;
  }
  .support2-download-grid{
    grid-template-columns: 1fr;
  }
  .support2-download-link{
    padding: 10px 10px;
  }
}