/* ============================================================
   GOOGLE.CSS — El tema de jesussolaz.com (08/10/2026).
   Blanco, Google Sans, el azul de Google para la acción y los grises de
   su paleta para todo lo demás: líneas de 1 px, botones píldora y aire.
   Es el mismo aspecto que one.taxibac.com, pero para una web pública
   (about.google / store.google.com): titulares grandes en peso 400-500,
   cuerpo gris, secciones alternando blanco y #f8f9fa.

   Se carga LA ÚLTIMA, después de bootstrap, font-awesome, style.css y
   paginas.css, y tiene que ganar a los 12.000 renglones del tema viejo
   (navy #00354F / cian #00E5FF con !important). Dos trampas de esta web:
     · bootstrap 3 fija html{font-size:10px}: los rem valen el 62,5 %.
       Aquí TODO va en píxeles.
     · style.css trae a:hover{color:#005b85} (0,1,1): cada enlace con
       color propio tiene que repetirlo en :hover.
   ============================================================ */

/* ---------- 0. Tipografía local (sin Google Fonts remotas) ---------- */
@font-face{font-family:"Google Sans";font-style:normal;font-weight:400;font-display:swap;
  src:url(/assets/fonts/google-sans-latin-ext-400-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Google Sans";font-style:normal;font-weight:400;font-display:swap;
  src:url(/assets/fonts/google-sans-latin-400-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Google Sans";font-style:italic;font-weight:400;font-display:swap;
  src:url(/assets/fonts/google-sans-latin-ext-400-italic.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Google Sans";font-style:italic;font-weight:400;font-display:swap;
  src:url(/assets/fonts/google-sans-latin-400-italic.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Google Sans";font-style:normal;font-weight:500;font-display:swap;
  src:url(/assets/fonts/google-sans-latin-ext-500-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Google Sans";font-style:normal;font-weight:500;font-display:swap;
  src:url(/assets/fonts/google-sans-latin-500-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Google Sans";font-style:normal;font-weight:700;font-display:swap;
  src:url(/assets/fonts/google-sans-latin-ext-700-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Google Sans";font-style:normal;font-weight:700;font-display:swap;
  src:url(/assets/fonts/google-sans-latin-700-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- 1. Tokens (los mismos valores que one.taxibac.com) ---------- */
:root{
  --g-azul:#1a73e8;
  --g-azul-texto:#1967d2;
  --g-azul-fondo:#e8f0fe;
  --g-azul-hover:#d2e3fc;
  --g-verde:#188038;
  --g-verde-texto:#137333;
  --g-verde-fondo:#e6f4ea;
  --g-ambar:#f9ab00;
  --g-ambar-texto:#b06000;
  --g-ambar-fondo:#fef7e0;
  --g-rojo:#d93025;
  --g-rojo-texto:#c5221f;
  --g-rojo-fondo:#fce8e6;
  --g-texto:#202124;
  --g-texto-2:#5f6368;
  --g-texto-3:#80868b;
  --g-linea:#dadce0;
  --g-linea-suave:#e8eaed;
  --g-gris:#f1f3f4;
  --g-gris-claro:#f8f9fa;
  --g-fondo:#ffffff;
  --g-fuente:"Google Sans","Roboto","Helvetica Neue",Arial,sans-serif;
  --g-sombra:0 1px 2px rgba(60,64,67,.3),0 2px 6px 2px rgba(60,64,67,.15);

  /* Las variables del tema viejo (style.css) apuntan ahora a la paleta
     nueva: así cientos de reglas navy/cian se vuelven grises o azul de
     Google sin tener que pisarlas una a una. */
  --site-primary:#202124;
  --site-primary-deep:#202124;
  --site-accent:#1a73e8;
  --site-accent-soft:#e8f0fe;
  --site-surface:#f8f9fa;
  --site-text:#202124;
  --site-text-muted:#5f6368;
  --site-border:#dadce0;
  --site-shadow:none;
  --site-gradient:#1a73e8;
  /* Y las de paginas.css */
  --pg-bg:#ffffff;
  --pg-card:#ffffff;
  --pg-card-2:#f8f9fa;
  --pg-line:#dadce0;
  --pg-line-soft:#e8eaed;
  --pg-white:#202124;
  --pg-text:#3c4043;
  --pg-muted:#5f6368;
  --pg-dim:#5f6368;
  --pg-font:"Google Sans","Roboto","Helvetica Neue",Arial,sans-serif;
}

/* ---------- 2. Base ---------- */
html,body{
  background:#ffffff !important;color:#202124 !important;
  font-family:var(--g-fuente);
}
body{font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
/* style.css pone hyphens:auto en TODO; Google no parte palabras. */
html body p,html body span,html body div,html body a,html body h1,html body h2,html body h3,
html body h4,html body h5,html body h6,html body label,html body button{hyphens:manual;}
h1,h2,h3,h4,h5,h6{color:#202124 !important;font-family:var(--g-fuente);font-weight:400;letter-spacing:0;}
p,li{color:inherit;}
a{color:#1967d2;text-decoration:none;}
a:hover,a:focus{color:#1967d2;text-decoration:underline;outline:0;}
:focus-visible{outline:2px solid #1a73e8;outline-offset:2px;}
::selection{background:#d2e3fc;color:#202124;}
strong,b{font-weight:500;}
.cifras,.num{font-variant-numeric:tabular-nums;}

.site-section,section.site-section,.section-separator,.noticia-detail-section,
.xp-section,.noticias-section,.proyectos-section,.libros-section,.page-section,
.trabajos-section,.archive-section,.section-works,#proyectos,.section-contact,
.section-quote-cinematic,.section-background,.section-me-contacto,.section-quote,.section-twitter{
  background:#ffffff !important;background-image:none !important;
}
.section-quote-cinematic::before,.section-background::before,.background-overlay::before,
.section-quote-proyectos::before{background:none !important;opacity:0 !important;}

.site-section h2{
  font-family:var(--g-fuente);font-size:clamp(32px,4vw,44px);font-weight:400;
  letter-spacing:-.01em;line-height:1.15;color:#202124 !important;text-align:center;margin:0;
}
.section-subtitle,.section-subtitle span{
  color:#5f6368 !important;background:transparent !important;box-shadow:none !important;
  font-family:var(--g-fuente);font-size:18px;font-weight:400;letter-spacing:0;border:0 !important;
}
.section-subtitle{margin:12px 0 0;}
.section-subtitle span::before,.section-subtitle span::after{content:none !important;display:none !important;}

/* Red de seguridad: si algún navegador autodetecta un número y lo convierte
   en enlace telefónico (iOS), que no cambie de color. */
a[href^="tel:"],a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !important;}

/* ---------- 3. Botones ---------- */
/* Píldora de 40 px, peso 500, sin mayúsculas y sin sombra. Primario azul
   relleno; secundario con borde #dadce0 y texto azul. */
.g-btn,.btn,.btn-primary,.btn-pill,.btn-project-visit,.btn-book-back,.srv-btn,.tj-cta-btn,.srv-barra-btn,
.sx-btn,.sx-contact-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:40px;padding:0 24px;border-radius:20px;
  font-family:var(--g-fuente) !important;font-size:14px;font-weight:500 !important;line-height:1;letter-spacing:.01em;
  text-decoration:none !important;text-transform:none !important;cursor:pointer;white-space:nowrap;
  background:#1a73e8 !important;color:#ffffff !important;border:1px solid #1a73e8 !important;
  box-shadow:none !important;transform:none !important;
  transition:background .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.g-btn:hover,.g-btn:focus,.btn:hover,.btn:focus,.btn-primary:hover,.btn-primary:focus,
.btn-primary:active,.btn-primary:active:hover,.btn-primary:active:focus,
.btn-pill:hover,.btn-project-visit:hover,.btn-book-back:hover,.srv-btn:hover,.tj-cta-btn:hover,
.srv-barra-btn:hover,.sx-btn:hover,.sx-contact-btn:hover{
  background:#1967d2 !important;border-color:#1967d2 !important;color:#ffffff !important;
  box-shadow:0 1px 2px rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15) !important;
  text-decoration:none !important;transform:none !important;
}
.g-btn--sec,.btn-inverted{
  background:#ffffff !important;color:#1967d2 !important;border:1px solid #dadce0 !important;
}
.g-btn--sec:hover,.g-btn--sec:focus,.btn-inverted:hover,.btn-inverted:focus{
  background:rgba(26,115,232,.04) !important;color:#1967d2 !important;border-color:#dadce0 !important;box-shadow:none !important;
}
.btn-block{width:100%;}
button:disabled,.btn:disabled{opacity:.5;cursor:default;}

/* ---------- 4. Navegación fija ---------- */
html{scroll-behavior:smooth;scroll-padding-top:80px;}
.mini-nav{
  position:fixed;top:0;left:0;width:100%;z-index:1000;
  background:#ffffff;border-bottom:1px solid #dadce0;font-family:var(--g-fuente);
}
.mini-nav-inner{
  max-width:1280px;margin:0 auto;padding:0 24px;height:64px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.mini-nav-brand{
  color:#202124;text-decoration:none;font-weight:500;font-size:20px;letter-spacing:0;
  white-space:nowrap;line-height:1;
}
.mini-nav-brand:hover,.mini-nav-brand:focus{color:#202124;text-decoration:none;}
.mini-nav-links{display:flex;align-items:center;gap:4px;}
.mini-nav-links a{
  color:#5f6368;text-decoration:none;font-size:14px;font-weight:500;letter-spacing:0;
  white-space:nowrap;padding:0 12px;height:36px;display:inline-flex;align-items:center;border-radius:18px;
  transition:background .15s ease,color .15s ease;
}
.mini-nav-links a:hover,.mini-nav-links a:focus{color:#202124;background:#f1f3f4;text-decoration:none;}
.mini-nav-links a.mini-nav-cta{
  background:#1a73e8;color:#ffffff;border:0;border-radius:18px;padding:0 20px;margin-left:8px;
  font-weight:500;transition:background .15s ease,box-shadow .15s ease;
}
.mini-nav-links a.mini-nav-cta:hover,.mini-nav-links a.mini-nav-cta:focus{
  background:#1967d2;color:#ffffff;box-shadow:0 1px 2px rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15);
}
@media (max-width:560px){
  .mini-nav-inner{height:56px;padding:0 8px 0 16px;gap:8px;}
  .mini-nav-brand{font-size:17px;}
  /* Los enlaces se deslizan en horizontal y el botón de acceso se queda
     pegado a la derecha: cabe todo sin esconder la marca. */
  .mini-nav-links{gap:0;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 0;}
  .mini-nav-links::-webkit-scrollbar{display:none;}
  .mini-nav-links a{font-size:13px;padding:0 9px;height:32px;}
  .mini-nav-links a.mini-nav-cta{position:sticky;right:0;padding:0 12px;margin-left:4px;box-shadow:0 0 0 6px #ffffff;}
  .mini-nav-links a.mini-nav-cta:hover,.mini-nav-links a.mini-nav-cta:focus{box-shadow:0 0 0 6px #ffffff;}
}

/* ---------- 5. Hero de la portada ---------- */
.sx-hero{
  background:#ffffff;color:#202124;position:relative;overflow:hidden;
  font-family:var(--g-fuente);padding-top:64px;
}
.sx-hero-inner{
  max-width:1280px;margin:0 auto;
  padding:clamp(40px,6vh,80px) 24px clamp(48px,7vh,88px);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:clamp(32px,5vw,72px);align-items:center;
}
/* La foto es un retrato en blanco y negro con fondo NEGRO: dentro de una
   tarjeta de 28 px queda como un bloque de producto (Google Store). */
.sx-hero-media{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/5;background:#202124;}
.sx-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block;filter:none;}
.sx-hero-media::after{content:none;}
.sx-hero-body{max-width:620px;}
.sx-eyebrow{
  display:block;text-transform:uppercase;letter-spacing:.08em;
  font-size:12px;font-weight:500;color:#5f6368;margin:0 0 20px;line-height:1.5;
}
.sx-title{
  font-size:clamp(44px,6vw,72px);line-height:1.02;letter-spacing:-.02em;
  font-weight:400;margin:0 0 24px;color:#202124 !important;text-wrap:balance;
}
.sx-title a{color:inherit;text-decoration:none;}
.sx-title a:hover,.sx-title a:focus{color:inherit;text-decoration:none;}
.sx-lead{font-size:18px;line-height:1.6;color:#5f6368;margin:0;max-width:58ch;}
.sx-lead p{margin:0 0 16px;color:#5f6368;font-size:18px;}
.sx-lead p:last-child{margin:0;}
.sx-lead strong{color:#202124;font-weight:500;}
.sx-lead em{font-style:italic;}
.sx-cta-row{display:flex;align-items:center;gap:16px;margin-top:32px;flex-wrap:wrap;}
.sx-cta-sep{display:none;}
.sx-btn.sx-btn-grande{height:48px;padding:0 32px;font-size:16px;border-radius:24px;min-width:220px;}
.sx-scroll{display:none;}

/* Los tres logotipos son ficheros pintados EN BLANCO (eran para el fondo
   negro). Sobre blanco desaparecerían: se invierten (blanco → negro, el
   reflejo oscuro de la gota de Limpieza.app → claro) y van sobre un chip
   gris, en el gris oscuro de la paleta, como una fila de «dónde está». */
.sx-logos{
  display:flex;align-items:center;gap:12px;margin-top:36px;
  padding-top:24px;border-top:1px solid #dadce0;flex-wrap:wrap;
}
.sx-logo{
  display:inline-flex;align-items:center;justify-content:center;
  height:56px;padding:0 20px;border-radius:12px;background:#f1f3f4;
  color:#202124;text-decoration:none;transform:none;
  transition:background .15s ease;
}
.sx-logo:hover,.sx-logo:focus{background:#e8eaed;color:#202124;transform:none;text-decoration:none;}
.sx-logo img{height:30px;width:auto;display:block;filter:invert(1) opacity(.78);transition:none;}
.sx-logo--ancho img{height:22px;}
.sx-logo:hover img{filter:invert(1) opacity(.95);}
@media (max-width:860px){
  .sx-hero-inner{grid-template-columns:1fr;gap:32px;padding-top:40px;}
  .sx-hero-media{aspect-ratio:4/5;max-width:420px;margin:0 auto;width:100%;}
  .sx-hero-body{max-width:none;}
  .sx-title{font-size:clamp(40px,11vw,56px);}
  .sx-lead,.sx-lead p{font-size:17px;}
}
@media (max-width:520px){
  .sx-hero-inner{padding:32px 16px 56px;}
  .sx-btn.sx-btn-grande{width:100%;}
  .sx-logo{height:52px;padding:0 16px;}
  .sx-logo img{height:26px;}
  .sx-logo--ancho img{height:19px;}
}

/* ---------- 6. Proyectos en la portada (vistas en vivo) ---------- */
.sx-projects{padding:80px 0 !important;}
.sx-projects .container{text-align:center;max-width:1280px;}
.sx-projects h2{margin:0 0 12px;}
.devsw{
  display:inline-flex;gap:4px;margin:28px auto 40px;padding:4px;
  border:1px solid #dadce0;border-radius:24px;background:#ffffff;
}
.devsw-btn{
  display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:#5f6368;
  font-size:14px;font-weight:500;padding:0 16px;height:36px;border-radius:18px;cursor:pointer;
  transition:background .15s ease,color .15s ease;font-family:inherit;
}
.devsw-btn i{font-size:15px;}
.devsw-btn:hover{background:#f1f3f4;color:#202124;}
.devsw-btn.is-active{background:#e8f0fe;color:#1967d2;}
.proj-grid{display:grid;gap:32px;margin:0 auto;text-align:left;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));}
.proj-grid[data-device="tablet"]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:1040px;}
.proj-grid[data-device="phone"]{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));max-width:900px;gap:24px;}
.proj-item{display:flex;flex-direction:column;gap:14px;}
.proj-screen{display:block;text-decoration:none;}
.proj-screen:hover,.proj-screen:focus{text-decoration:none;}
.proj-device{
  background:#f8f9fa;border:1px solid #dadce0;border-radius:16px;padding:0;overflow:hidden;
  box-shadow:none;transition:box-shadow .2s ease,border-color .2s ease,border-radius .3s ease;
}
.proj-screen:hover .proj-device{border-color:#dadce0;box-shadow:var(--g-sombra);transform:none;}
.proj-chrome{display:flex;gap:7px;align-items:center;height:34px;padding:0 14px;background:#f1f3f4;border-bottom:1px solid #dadce0;}
.proj-chrome span{width:10px;height:10px;border-radius:50%;background:#dadce0;}
.proj-viewport{position:relative;width:100%;aspect-ratio:1440/900;overflow:hidden;background:#ffffff;transition:aspect-ratio .35s ease;}
.proj-loader{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:#f8f9fa;transition:opacity .4s ease;}
.proj-loader.hide{opacity:0;pointer-events:none;}
.proj-spinner{width:32px;height:32px;border-radius:50%;border:3px solid #dadce0;border-top-color:#1a73e8;animation:projspin .8s linear infinite;}
@keyframes projspin{to{transform:rotate(360deg);}}
.proj-iframe{position:absolute;top:0;left:0;border:0;transform-origin:0 0;pointer-events:none;background:#fff;z-index:1;opacity:0;transition:opacity .45s ease;}
.proj-iframe.is-ready{opacity:1;}
/* Con `.proj-viewport img.` para ganar al `img:not(...):not(...){display:inline-block}` de style.css (0,2,1). */
.proj-viewport img.proj-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;z-index:1;display:none;background:#fff;}
.proj-grid.is-static .proj-viewport img.proj-poster{display:block;}
.proj-grid.is-static .proj-iframe{display:none !important;}
.proj-grid.is-static .proj-loader{display:none;}
.proj-grid[data-device="tablet"] .proj-viewport{aspect-ratio:834/1112;}
.proj-grid[data-device="phone"] .proj-viewport{aspect-ratio:390/844;}
/* Tablet y teléfono: bisel claro (como un Pixel blanco), sin barra de navegador */
.proj-grid[data-device="tablet"] .proj-device{border-radius:22px;padding:12px;background:#f1f3f4;}
.proj-grid[data-device="tablet"] .proj-chrome{display:none;}
.proj-grid[data-device="tablet"] .proj-viewport{border-radius:8px;border:1px solid #dadce0;}
.proj-grid[data-device="phone"] .proj-device{border-radius:30px;padding:10px;background:#f1f3f4;}
.proj-grid[data-device="phone"] .proj-chrome{display:none;}
.proj-grid[data-device="phone"] .proj-viewport{border-radius:22px;border:1px solid #dadce0;}
.proj-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 2px;}
.proj-title{margin:0;font-size:18px;font-weight:500;letter-spacing:0;color:#202124 !important;}
.proj-cta{white-space:nowrap;color:#1967d2;text-decoration:none;font-size:14px;font-weight:500;}
.proj-cta:hover,.proj-cta:focus{color:#1967d2;text-decoration:underline;}
.proj-cta i{margin-left:5px;font-size:12px;}
.proj-archive{text-align:center;margin:44px 0 0;}
.xp-archive-link,.xp-archive-link:hover,.xp-archive-link:focus{
  color:#1967d2 !important;font-size:15px;font-weight:500;text-decoration:none;border:0 !important;padding:0;
}
.xp-archive-link:hover,.xp-archive-link:focus{text-decoration:underline;}
@media (max-width:560px){
  .sx-projects{padding:64px 0 !important;}
  .proj-grid,.proj-grid[data-device="tablet"],.proj-grid[data-device="phone"]{grid-template-columns:1fr;max-width:420px;}
  .devsw-btn span{display:none;}
  .devsw-btn{padding:0 14px;}
}

/* ---------- 7. En los medios ---------- */
.sx-media{background:#f8f9fa;color:#202124;font-family:var(--g-fuente);border-top:1px solid #dadce0;border-bottom:1px solid #dadce0;}
.sx-media-inner{max-width:1200px;margin:0 auto;padding:clamp(64px,9vh,104px) 24px;}
.sx-media-head{text-align:center;margin-bottom:clamp(32px,5vh,48px);}
.sx-media-kicker{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:500;color:#5f6368;margin-bottom:14px;}
.sx-media-title{font-size:clamp(32px,4vw,44px);font-weight:400;letter-spacing:-.01em;line-height:1.15;margin:0 0 12px;color:#202124 !important;text-wrap:balance;}
.sx-media-sub{color:#5f6368;font-size:18px;max-width:52ch;margin:0 auto;line-height:1.5;}
.sx-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,340px));justify-content:center;gap:24px;margin-top:12px;}
.sx-media-card{
  display:block;text-decoration:none;color:#202124;border:1px solid #dadce0;
  border-radius:16px;overflow:hidden;background:#ffffff;transition:box-shadow .2s ease;
}
.sx-media-card:hover,.sx-media-card:focus{border-color:#dadce0;box-shadow:var(--g-sombra);transform:none;color:#202124;text-decoration:none;}
.sx-media-thumb{aspect-ratio:4/3;overflow:hidden;background:#f1f3f4;}
.sx-media-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:none;transition:transform .45s ease;}
.sx-media-card:hover .sx-media-thumb img{transform:scale(1.03);}
.sx-media-logo{height:24px;width:auto;display:block;margin:0 0 12px;filter:none;opacity:1;}
.sx-media-body{padding:20px 22px 22px;}
.sx-media-name{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:500;color:#5f6368;margin:0 0 10px;}
.sx-media-quote{font-size:16px;line-height:1.5;font-weight:400;margin:0 0 12px;color:#202124;}
.sx-media-date{font-size:13px;color:#5f6368;}
.sx-media-empty{max-width:680px;margin:0 auto;text-align:center;border:1px dashed #dadce0;border-radius:16px;padding:clamp(34px,6vh,60px) 28px;background:#ffffff;}
.sx-media-empty p{color:#5f6368;font-size:16px;line-height:1.6;margin:0;}
.sx-media-empty strong{color:#202124;font-weight:500;}
.sx-media-dots{display:flex;justify-content:center;gap:9px;margin-top:22px;}
.sx-media-dots span{width:8px;height:8px;border-radius:50%;background:#dadce0;}

/* ---------- 8. Cierre: formulario de contacto ---------- */
/* Desde el 10/10/2026 aquí va un formulario (antes, el botón de agendar
   videollamada y su modal, §9, que ya no existe). */
.sx-contact{background:#ffffff !important;padding:0 !important;}
.sx-contact-inner{max-width:760px;margin:0 auto;padding:clamp(72px,10vh,120px) 24px;text-align:center;font-family:var(--g-fuente);}
.sx-contact-eyebrow{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:500;color:#5f6368;margin-bottom:14px;}
.sx-contact-title{font-size:clamp(32px,4vw,44px);font-weight:400;letter-spacing:-.01em;line-height:1.15;margin:0 0 14px;color:#202124 !important;}
.sx-contact-sub{color:#5f6368;font-size:18px;max-width:48ch;margin:0 auto 36px;line-height:1.5;}
.sx-contact-btn{height:48px;padding:0 32px;font-size:16px;border-radius:24px;}
.sx-contact-nota{color:#5f6368;font-size:14px;line-height:1.5;margin:0;max-width:44ch;}
.sx-contact-nota a{color:#1967d2 !important;text-decoration:none;}
.sx-contact-nota a:hover{color:#1967d2 !important;text-decoration:underline;}

.sx-form{max-width:640px;margin:0 auto;text-align:left;font-family:var(--g-fuente);}
/* Hay bloques con display:grid y flex: sin esto `hidden` no oculta nada. */
.sx-form [hidden]{display:none !important;}
.sx-form-hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden;margin:0;}
.sx-form-rej{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
.sx-campo{display:flex;flex-direction:column;gap:6px;margin:0 0 18px;min-width:0;}
.sx-campo--ancho{grid-column:1 / -1;}
.sx-campo>span{font-size:13px;font-weight:500;color:#5f6368;letter-spacing:0;}
.sx-campo>span small{font-size:13px;font-weight:400;color:#80868b;}
.sx-campo input,.sx-campo textarea{
  display:block;width:100%;box-sizing:border-box;margin:0;font-family:var(--g-fuente);font-size:16px;line-height:1.4;
  color:#202124;background:#ffffff;border:1px solid #dadce0;border-radius:8px;padding:12px 14px;
  box-shadow:none;outline:0;-webkit-appearance:none;appearance:none;transition:border-color .15s ease,box-shadow .15s ease;
}
.sx-campo input::placeholder,.sx-campo textarea::placeholder{color:#80868b;opacity:1;}
.sx-campo input:focus,.sx-campo textarea:focus{border-color:#1a73e8;box-shadow:0 0 0 1px #1a73e8;}
.sx-campo textarea{resize:vertical;min-height:150px;}
.sx-form-pie{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:4px;}
.sx-form-pie .sx-contact-nota{flex:1 1 260px;max-width:none;}
.sx-form-aviso{margin:18px 0 0;padding:12px 16px;border-radius:12px;background:#e6f4ea;color:#137333;font-size:15px;line-height:1.5;}
.sx-form-aviso.es-error{background:#fce8e6;color:#c5221f;}
/* Los botones que antes abrían el modal ahora son enlaces al formulario. */
a.sx-btn,a.srv-btn,a.srv-barra-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none !important;}
html{scroll-behavior:smooth;}
@media (max-width:640px){
  .sx-form-rej{grid-template-columns:1fr;gap:0;}
  .sx-form-pie{align-items:stretch;}
  .sx-form-pie .sx-contact-btn{width:100%;}
}

/* ---------- 10. Pie de página ---------- */
.site-footer,footer.site-footer{
  background:#f8f9fa !important;border-top:1px solid #dadce0 !important;
  color:#5f6368;font-family:var(--g-fuente);box-shadow:none;
}
.site-footer .container-fluid{position:static;padding:40px 24px 24px;text-align:center;border-bottom:0 !important;}
.site-footer ul{margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 6px;}
.site-footer ul li{padding:0;display:inline-block;}
.site-footer ul a,.site-footer a{
  display:inline-block;font-size:14px;font-weight:400;color:#5f6368 !important;text-transform:none;
  text-decoration:none;padding:6px 12px;border-radius:16px;line-height:1.4;
  transition:color .15s ease,background .15s ease;
}
.site-footer ul a:hover,.site-footer a:hover,.site-footer ul a:focus,.site-footer a:focus{
  color:#1967d2 !important;background:#f1f3f4;text-decoration:none;
}
/* La flecha de «subir»: era un rombo negro; ahora un botón redondo con borde.
   (Ojo: dos <li> de la lista también llevan la clase page-scroll.) */
.site-footer div.page-scroll{margin-top:20px;}
.site-footer li.page-scroll{margin:0;}
.site-footer .rectangle{
  position:static !important;display:inline-flex !important;align-items:center;justify-content:center;
  width:40px !important;height:40px !important;margin:0 auto;padding:0;border-radius:50%;
  background:#ffffff !important;border:1px solid #dadce0 !important;color:#5f6368 !important;
  transform:none !important;box-shadow:none !important;
}
.site-footer .rectangle i{position:static !important;transform:none !important;font-size:18px;line-height:1;}
.site-footer .rectangle:hover,.site-footer .rectangle:focus{background:#f1f3f4 !important;border-color:#bdc1c6 !important;color:#202124 !important;}
.site-footer .container{padding:0 24px 32px;}
.site-footer .copyright,.site-footer .copyright a{
  font-size:13px;color:#5f6368 !important;text-transform:none;margin:0;padding:0;background:transparent;
}
.site-footer .copyright a:hover{color:#1967d2 !important;text-decoration:underline;}
@media (max-width:767px){
  .site-footer .container-fluid{padding:32px 16px 16px;}
  .site-footer .container{padding:0 16px 28px;}
}

/* ---------- 11. Formularios (acceso, registro y los de bootstrap) ---------- */
.form-container{
  min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;
  padding:104px 24px 56px;font-family:var(--g-fuente);
}
.form-container .col-md-6{width:100%;max-width:440px;padding:0;float:none;}
.form-container h1{font-size:32px;font-weight:400;color:#202124 !important;text-align:center;margin:0 0 24px;letter-spacing:0;line-height:1.2;}
.card{background:#ffffff !important;border:1px solid #dadce0 !important;border-radius:16px;box-shadow:none !important;}
.card-body{padding:28px;}
.form-group{margin-bottom:18px;}
label,.form-group label{display:block;font-size:12px;font-weight:500;color:#5f6368;margin-bottom:6px;letter-spacing:0;}
.form-control,.contact-premium-form .form-control{
  height:48px;padding:0 14px;font-size:15px;font-family:var(--g-fuente);
  color:#202124 !important;background:#ffffff !important;
  border:1px solid #dadce0 !important;border-radius:8px !important;box-shadow:none !important;
  transition:border-color .15s ease,box-shadow .15s ease;
}
textarea.form-control{height:auto;min-height:120px;padding:12px 14px;}
.form-control::placeholder{color:#80868b !important;}
.form-control:focus,input:focus,textarea:focus,select:focus{
  border-color:#1a73e8 !important;box-shadow:0 0 0 1px #1a73e8 !important;outline:0;
}
.alert{border-radius:8px;border:1px solid #dadce0;padding:12px 16px;font-size:14px;line-height:1.5;margin-bottom:16px;}
.alert-info{background:#e8f0fe;border-color:#d2e3fc;color:#1967d2;}
.alert-success{background:#e6f4ea;border-color:#ceead6;color:#137333;}
.alert-warning{background:#fef7e0;border-color:#feefc3;color:#b06000;}
.alert-danger{background:#fce8e6;border-color:#fad2cf;color:#c5221f;}
.btn-block{margin-top:8px;}

/* ---------- 12. Trayectoria (línea de tiempo) ---------- */
.xp-section{background:#ffffff !important;padding:96px 20px 104px;}
.xp-inner{max-width:760px;margin:0 auto;}
.xp-header{text-align:center;margin-bottom:48px;}
.xp-kicker{
  display:block;background:transparent !important;color:#5f6368 !important;padding:0;border-radius:0;
  font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
}
.xp-kicker::before{content:none !important;display:none !important;}
.xp-title{margin:14px 0 12px;font-size:clamp(32px,4vw,44px);font-weight:400;letter-spacing:-.01em;color:#202124 !important;line-height:1.15;}
.xp-sub{max-width:640px;margin:0 auto;color:#5f6368 !important;font-size:18px;line-height:1.5;}
.xp-header .xp-archive-link{display:inline-block;margin-top:18px;}

.xp-timeline{position:relative;padding-left:40px;}
.xp-timeline::before{
  content:"";position:absolute;left:11px;top:8px;bottom:8px;width:2px;
  background:#dadce0 !important;background-image:none !important;border-radius:2px;opacity:1;
}
.xp-year{position:relative;margin:26px 0 18px !important;}
.xp-year span{
  display:inline-block;background:transparent !important;border:0 !important;box-shadow:none !important;
  color:#5f6368 !important;font-size:12px !important;font-weight:500 !important;
  letter-spacing:.08em !important;padding:0 !important;
}
.xp-year::before{
  content:"";position:absolute;left:-33px !important;top:50%;transform:translateY(-50%);
  width:10px !important;height:10px !important;border-radius:50%;
  background:#ffffff !important;border:2px solid #dadce0 !important;box-shadow:none !important;
}
.xp-item{position:relative;margin:0 0 20px;}
.xp-node{
  position:absolute;left:-33px !important;top:34px !important;width:10px !important;height:10px !important;
  border-radius:50%;background:#ffffff !important;border:2px solid #dadce0 !important;
  box-shadow:none !important;animation:none !important;
}
.xp-item--current .xp-node{background:#1a73e8 !important;border-color:#1a73e8 !important;animation:none !important;}

a.xp-card{display:block;text-decoration:none !important;color:inherit !important;}
.xp-card{
  background:#ffffff !important;border:1px solid #dadce0 !important;border-radius:16px !important;
  box-shadow:none !important;padding:22px 24px !important;transition:box-shadow .2s ease;
}
.xp-card:hover,.xp-card:focus{transform:none !important;border-color:#dadce0 !important;background:#ffffff !important;box-shadow:var(--g-sombra) !important;}
.xp-item--current .xp-card{border-color:#dadce0 !important;box-shadow:none !important;}
.xp-card-head{display:flex !important;align-items:center !important;gap:14px !important;}
.xp-logo{
  flex:0 0 auto;width:52px !important;height:52px !important;border-radius:12px !important;
  background:#ffffff !important;border:1px solid #dadce0 !important;padding:0 !important;overflow:hidden !important;
  display:flex;align-items:center;justify-content:center;
}
.xp-logo img{width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;object-fit:cover !important;}
.xp-headings{flex:1 1 auto;min-width:0;}
.xp-company{margin:0 !important;font-size:17px !important;font-weight:500 !important;color:#202124 !important;line-height:1.3;letter-spacing:0;}
.xp-role{margin:3px 0 0 !important;font-size:14px !important;font-weight:400 !important;color:#5f6368 !important;}
.xp-current-badge{
  flex:0 0 auto;align-self:center !important;background:#e6f4ea !important;border:0 !important;color:#137333 !important;
  font-size:12px !important;font-weight:500 !important;letter-spacing:0 !important;text-transform:none;
  padding:4px 10px !important;border-radius:8px;white-space:nowrap;
}
.xp-tags{display:none;}
.xp-desc{color:#5f6368 !important;font-size:15px !important;line-height:1.6 !important;margin:14px 0 0 !important;}
.xp-meta{
  display:flex !important;flex-wrap:wrap !important;align-items:center !important;gap:8px !important;
  margin:14px 0 0 !important;padding:12px 0 0 !important;
  border-top:1px solid #e8eaed !important;color:#5f6368 !important;font-size:13px !important;font-weight:400 !important;
}
.xp-meta-sep{color:#5f6368 !important;}
.xp-meta-mas{margin-left:auto;color:#1967d2 !important;font-weight:500 !important;}
.xp-card:hover .xp-meta-mas{text-decoration:underline;}
@media (max-width:600px){
  .xp-section{padding:72px 14px 72px;}
  .xp-header{margin-bottom:36px;}
  .xp-timeline{padding-left:28px;}
  .xp-timeline::before{left:7px;}
  .xp-node,.xp-year::before{left:-25px !important;}
  .xp-node{top:30px !important;}
  .xp-card{padding:18px !important;}
  .xp-card-head{gap:12px !important;}
  .xp-logo{width:44px !important;height:44px !important;}
  .xp-company{font-size:16px !important;}
  .xp-current-badge{position:static;}
  .xp-item--current .xp-card{padding-top:18px !important;}
  .xp-meta-mas{margin-left:0;width:100%;}
}

/* ---------- 13. Restos del tema viejo que aún podrían asomar ---------- */
.rectangle,.big-rectangle{border-color:#dadce0 !important;box-shadow:none !important;color:#5f6368 !important;}
.blue-bg{background-color:#f8f9fa !important;}
.quote-cinematic-card{background:#ffffff !important;border:1px solid #dadce0 !important;border-radius:16px !important;box-shadow:none !important;}
.quote-cinematic-card::before{background:none !important;opacity:0 !important;}
.quote-cinematic-body,.quote-cinematic-body p{color:#202124 !important;}
.quote-cinematic-body span{color:#1967d2 !important;background:none !important;-webkit-text-fill-color:#1967d2 !important;text-shadow:none !important;}
.quote-cinematic-cite{color:#5f6368 !important;}
.card,.grid-item,.listing-card{background:#ffffff !important;border:1px solid #dadce0 !important;}
.archive-title,.page-title,.listing-title{color:#202124 !important;}
.hero-noticia-item{background:#ffffff !important;border-color:#dadce0 !important;}
.hero-noticia-titulo-link,.hero-noticias-title{color:#202124 !important;}
.hero-noticia-texto,.hero-noticias-intro{color:#5f6368 !important;}
.pagination-button{background:#ffffff !important;color:#1967d2 !important;border:1px solid #dadce0 !important;border-radius:20px !important;box-shadow:none !important;}
.pagination-button.active,.pagination-button:hover{background:#e8f0fe !important;color:#1967d2 !important;border-color:#e8f0fe !important;}
.books-pagination{background:transparent !important;box-shadow:none !important;border:0 !important;}
.pagination-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:0;margin:32px 0 0;}
.pagination-ellipsis{color:#80868b;padding:0 4px;}
