/* Marco compartido: bloques insertados por build en la cascada original de portada. */
/* Adaptación de las bases de portada, limitada al marco de las interiores. */
:where(.interior :is(.barra,.cabecera,.banda,.contacto,.pie),.interior :is(.barra,.cabecera,.banda,.contacto,.pie) *){margin:0;padding:0}
.interior :where(.barra,.cabecera,.banda,.contacto,.pie){font-family:var(--marco-texto);font-size:16px;line-height:1.6}
.interior :is(.cabecera,.banda,.contacto,.pie) .btn{min-height:0}
.interior .pie h4{line-height:1.6}
.interior .banda h2{font-family:var(--titulo);font-weight:800;line-height:1.02;letter-spacing:-.015em}
.interior .menu a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--medio)}
.interior .pie :is(.aviso-ia,.fiscal-legal){color:#c4c7ee}
.interior .pie .fiscal-legal p{max-width:none}
@media(max-width:640px){.interior .pie{padding-bottom:96px}}
/* inicio:0 */
:where(.barra,.cabecera,.banda,.contacto,.pie,.saltar){
  --indigo:#1a1464; --medio:#2e3092; --profundo:#15174f;
  --claro-oscuro:#b9bcf0; --porcelana:#f5f6f3;
  --lav1:#ecedf4; --lav2:#e6e8f4; --lav3:#c9cce2;
  --tinta:#262e2e; --gris:#5b6275;
  --wa:#0f7a6d; --wa-hover:#0b6b5f;

  /* Botón principal: variante índigo (por defecto) */
  --cta-bg:var(--medio); --cta-tx:#fff; --cta-hover:var(--indigo);
  --cta-osc-bg:#fff; --cta-osc-tx:var(--indigo); --cta-osc-hover:var(--lav2);
  --acento:var(--claro-oscuro);

  --titulo:"Sofia Sans Semi Condensed", "Arial Narrow", system-ui, sans-serif;
  --marco-texto:"Inter", system-ui, -apple-system, sans-serif;
  --radio:18px;
  --sombra:0 18px 40px -18px rgba(21,23,79,.35), 0 4px 10px -4px rgba(21,23,79,.12);
  --ancho:1200px;
}
/* fin:0 */
/* inicio:1 */
:where(.barra,.cabecera,.banda,.contacto,.pie,.saltar){
  --vidrio:rgba(255,255,255,.62);
  --vidrio-borde:rgba(255,255,255,.75);
  --grad-indigo:linear-gradient(135deg,#2e3092 0%,#1a1464 100%);
  --grad-icono:linear-gradient(140deg,#2e3092 0%,#15174f 100%);
  --grad-suave:linear-gradient(140deg,#ecedf4 0%,#e6e8f4 100%);
}
/* fin:1 */
/* inicio:2 */
.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 32px}
/* fin:2 */
/* inicio:3 */
/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--marco-texto);font-weight:700;font-size:15px;line-height:1;padding:17px 26px;border-radius:999px;text-decoration:none;border:2px solid transparent;transition:background .2s,transform .2s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:19px;height:19px;flex:none}
.btn-cta{background:var(--cta-bg);color:var(--cta-tx)}
.btn-cta:hover{background:var(--cta-hover)}
.oscuro .btn-cta,.hero .btn-cta{background:var(--cta-osc-bg);color:var(--cta-osc-tx)}
.oscuro .btn-cta:hover,.hero .btn-cta:hover{background:var(--cta-osc-hover)}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:var(--wa-hover)}
.btn-borde{border-color:var(--lav3);color:var(--indigo);background:#fff}
.oscuro .btn-borde{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}
.btn-chico{padding:12px 18px;font-size:14px}

/* fin:3 */
/* inicio:4 */
/* ---------- 1 · Barra fina ---------- */
.barra{background:var(--profundo);color:#dfe1f7;font-size:13.5px}
.barra .contenedor{display:flex;align-items:center;gap:26px;height:40px}
.barra a{white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:7px;font-weight:600;color:#fff}
.barra a:hover{color:var(--claro-oscuro)}
.barra svg{width:15px;height:15px}
.barra .idiomas{color:#c4c7ee}
.barra .derecha{margin-left:auto;display:flex;gap:22px}
.barra .irs{color:var(--acento)}

/* ---------- 2 · Cabecera ---------- */
.cabecera{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 var(--lav2),0 8px 24px -18px rgba(21,23,79,.4)}
.cabecera .contenedor{display:flex;align-items:center;height:84px;gap:34px}
.logo img{height:46px;width:auto}
.menu{display:flex;gap:30px;margin-left:auto;list-style:none}
.menu a{text-decoration:none;font-weight:600;font-size:15px;color:var(--indigo);position:relative;padding:6px 0}
.menu a:hover::after,.menu a.activo::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--medio)}
.idioma{font-weight:700;font-size:13px;color:var(--indigo);text-decoration:none;border:1.5px solid var(--lav3);border-radius:8px;padding:6px 9px}
.hamburguesa{display:none;width:44px;height:44px;border-radius:12px;border:1.5px solid var(--lav3);background:#fff;align-items:center;justify-content:center}
.hamburguesa span{display:block;width:18px;height:2px;background:var(--indigo);box-shadow:0 6px 0 var(--indigo),0 -6px 0 var(--indigo)}

/* fin:4 */
/* inicio:5 */
/* ---------- 13 · Banda final + contacto + pie ---------- */
.banda{position:relative;overflow:hidden;padding:84px 0;background:
  radial-gradient(600px 320px at 15% 120%, rgba(46,48,146,.9), transparent 70%),
  linear-gradient(120deg,#1a1464,#2e3092)}
.banda::after{content:"";position:absolute;right:4%;top:50%;margin-top:-170px;width:340px;height:340px;background:url(/img/marca.29974e0884b4.svg) center/contain no-repeat;opacity:.07;filter:brightness(0) invert(1)}
.banda .contenedor{display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;z-index:1}
.banda h2{font-size:clamp(38px,4.6vw,62px);max-width:640px}
.banda p{color:#d5d7f3;margin-top:12px;font-size:17px}
.banda .acciones{display:flex;gap:14px;flex-wrap:wrap}
.contacto{padding:80px 0;background:#fff}
.cont-rejilla{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:24px}
.dato{display:flex;gap:16px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--lav2)}
.dato:first-child{padding-top:0}
.dato .ico{width:46px;height:46px;border-radius:12px;background:var(--lav1);color:var(--medio);display:grid;place-items:center;flex:none}
.dato .ico svg{width:22px;height:22px}
.dato small{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.dato b,.dato a{font-family:var(--titulo);font-size:22px;font-weight:800;color:var(--indigo);text-decoration:none;line-height:1.2}
.dato p{font-size:14.5px;color:var(--tinta);line-height:1.5}
.mapa{display:block;position:relative;border-radius:var(--radio);overflow:hidden;min-height:300px;text-decoration:none;box-shadow:var(--sombra);background:#e9ebf3}
.mapa svg{position:absolute;inset:0;width:100%;height:100%}
.mapa .cartel{position:absolute;left:16px;right:16px;bottom:16px;background:#fff;border-radius:14px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 10px 24px -12px rgba(21,23,79,.5)}
.mapa .cartel b{font-family:var(--titulo);font-size:18px;color:var(--indigo);display:block;line-height:1.1}
.mapa .cartel small{font-size:12.5px;color:var(--gris)}
.mapa .cartel span{font-weight:700;color:var(--medio);font-size:14px;white-space:nowrap}
.fachada{border-radius:var(--radio);overflow:hidden;height:140px;margin-top:22px}
.fachada img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.pie{background:var(--profundo);color:#aeb2e6;padding:56px 0 30px;font-size:14px}
.pie .arriba{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1)}
.pie .logo-pie img{height:44px;width:auto;filter:brightness(0) invert(1)}
.pie p{margin-top:16px;max-width:300px;line-height:1.55}
.pie h4{font-family:var(--titulo);font-size:17px;color:#fff;margin-bottom:12px;letter-spacing:.02em}
.pie ul{list-style:none;display:grid;gap:8px}
.pie a{text-decoration:none;color:#c4c7ee}
.pie a:hover{color:#fff}
.pie .abajo{display:flex;justify-content:space-between;gap:20px;padding-top:24px;font-size:12.5px;flex-wrap:wrap}

/* fin:5 */
/* inicio:6 */
.servicio .btn-wa{background:transparent;color:var(--wa);border-color:#bfe0da;padding:11px 16px;font-size:13.5px}
/* fin:6 */
/* inicio:7 */
.oscuro{background:var(--profundo);color:#fff}
/* fin:7 */
/* inicio:8 */
.oscuro h2,.oscuro h3{color:#fff}
/* fin:8 */
/* inicio:9 */
.btn-cta{background:var(--grad-indigo)}
/* fin:9 */
/* inicio:10 */
.btn-cta:hover{background:linear-gradient(135deg,#1a1464,#15174f)}
/* fin:10 */
/* inicio:11 */
.oscuro .btn-cta,.hero .btn-cta{background:linear-gradient(180deg,#fff 0%,#e6e8f4 100%)}
/* fin:11 */
/* inicio:12 */
.btn-wa{background:linear-gradient(135deg,#0f7a6d 0%,#0b6b5f 100%)}
/* fin:12 */
/* inicio:13 */
.aporte .ico,.confianza .ico,.herr .ico-t span,.dato .ico{background:var(--grad-suave)}
/* fin:13 */
/* inicio:14 */
.contacto{background:linear-gradient(180deg,#fff 0%,#f5f6fb 100%)}
/* fin:14 */
/* inicio:15 */
.nos-texto .foto-equipo span,.mapa .cartel{background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
/* fin:15 */
/* inicio:16 */
.mapa .cartel{border:1px solid rgba(255,255,255,.8)}
/* fin:16 */
/* inicio:17 */
.pie{background:linear-gradient(180deg,#1a1464 0%,#15174f 100%)}
/* fin:17 */
/* inicio:18 */
@media (max-width:1100px){
  .menu{gap:20px}
}
/* fin:18 */
/* inicio:19 */
@media (max-width:1100px){
  .cont-rejilla{grid-template-columns:1fr 1fr}
}
/* fin:19 */
/* inicio:20 */
@media (max-width:1100px){
  .cont-rejilla .mapa-col{grid-column:1/-1}
}
/* fin:20 */
/* inicio:21 */
@media (max-width:1100px){
  .pie .arriba{grid-template-columns:1fr 1fr}
}
/* fin:21 */
/* inicio:22 */
@media (max-width:900px){
  .menu,.cabecera .idioma{display:none}
}
/* fin:22 */
/* inicio:23 */
@media (max-width:900px){
  .hamburguesa{display:flex;margin-left:auto}
}
/* fin:23 */
/* inicio:24 */
@media (max-width:900px){
  .barra .idiomas{display:none}
}
/* fin:24 */
/* inicio:25 */
@media (max-width:640px){
  .contenedor{padding:0 18px}
}
/* fin:25 */
/* inicio:26 */
@media (max-width:640px){
  .barra .contenedor{gap:16px;height:38px;font-size:12.5px}
}
/* fin:26 */
/* inicio:27 */
@media (max-width:640px){
  .barra .derecha{gap:14px}
}
/* fin:27 */
/* inicio:28 */
@media (max-width:640px){
  .barra .solo-escritorio{display:none}
}
/* fin:28 */
/* inicio:29 */
@media (max-width:640px){
  .cabecera .contenedor{height:68px;gap:10px}
}
/* fin:29 */
/* inicio:30 */
@media (max-width:640px){
  .logo img{height:34px}
}
/* fin:30 */
/* inicio:31 */
@media (max-width:640px){
  .cabecera .btn-cta{padding:11px 14px;font-size:13px}
}
/* fin:31 */
/* inicio:32 */
@media (max-width:640px){
  .hamburguesa{margin-left:auto}
}
/* fin:32 */
/* inicio:33 */
@media (max-width:640px){
  .banda{padding:60px 0}
}
/* fin:33 */
/* inicio:34 */
@media (max-width:640px){
  .banda .contenedor{flex-direction:column;align-items:flex-start}
}
/* fin:34 */
/* inicio:35 */
@media (max-width:640px){
  .banda .acciones{flex-direction:column;width:100%}
}
/* fin:35 */
/* inicio:36 */
@media (max-width:640px){
  .contacto{padding:56px 0}
}
/* fin:36 */
/* inicio:37 */
@media (max-width:640px){
  .cont-rejilla{grid-template-columns:1fr}
}
/* fin:37 */
/* inicio:38 */
@media (max-width:640px){
  .pie .arriba{grid-template-columns:1fr}
}
/* fin:38 */
/* inicio:39 */
.iconos{position:absolute}.oculto,[hidden]{display:none!important}
/* fin:39 */
/* inicio:40 */
.dato .contacto-mediano{font-size:18px}.horario-sabado{margin-top:8px}
/* fin:40 */
/* inicio:41 */
.saltar{position:absolute;left:16px;top:-80px;z-index:100;background:#fff;color:#1a1464;padding:12px 20px}.saltar:focus{top:12px}
/* fin:41 */
/* inicio:42 */
:focus-visible{outline:3px solid #2e3092;outline-offset:4px}.oscuro :focus-visible,.hero :focus-visible,.pie :focus-visible,.barra :focus-visible{outline-color:#b9bcf0}
/* fin:42 */
/* inicio:43 */
@media(max-width:900px){.cabecera .contenedor{position:relative}.cabecera nav{position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px 32px;box-shadow:var(--sombra)}.cabecera nav .menu{display:flex;flex-wrap:wrap}.menu .solo-menu-movil{display:list-item}}
/* fin:43 */
/* inicio:44 */
.cabecera nav{margin-left:auto}
/* fin:44 */
/* inicio:45 */
.solo-menu-movil{display:none}
/* fin:45 */
/* inicio:46 */
@media(max-width:900px){.menu .solo-menu-movil{display:list-item}}
/* fin:46 */
/* inicio:47 */
.cabecera .contenedor{height:76px;gap:22px}.cabecera nav{margin-left:auto}.cabecera .menu{gap:22px}
.cabecera .btn-chico{min-height:44px;border-radius:8px;white-space:normal;text-align:center;line-height:1.2}
.barra a{min-height:32px;min-width:24px}
.banda .btn{white-space:normal;text-align:center;line-height:1.35}
.banda .acciones{min-width:0}.contacto a{overflow-wrap:anywhere}
.cabecera a:focus-visible,.barra a:focus-visible,.pie a:focus-visible{outline:3px solid #4784da;outline-offset:4px}
@media(max-width:900px){.cabecera .contenedor{gap:16px}.cabecera nav{margin-left:0}}
@media(max-width:700px){.cabecera .contenedor{height:68px;gap:12px;padding-left:18px;padding-right:18px}.cabecera .logo img{width:128px;height:auto}.cabecera .btn-chico{font-size:12px;padding:10px 12px;margin-left:auto}.cabecera .hamburguesa{flex:none}.banda .acciones{width:100%}.banda .btn{max-width:100%;width:100%}}
@media(max-width:360px){.cabecera .contenedor{gap:8px;padding-left:14px;padding-right:14px}.cabecera .logo img{width:110px}.cabecera .btn-chico{font-size:11px;padding:8px}.barra .contenedor{gap:12px}.barra .irs{font-size:12px}}
/* fin:47 */
