/* ==========================================================================
   Clean Services – main.css
   1. Design system (tokens, tipografía, ritmo) exportado de Claude Design
   2. Clases de cada bloque (generadas desde el diseño, 1440 px) + responsive 1024 / 767
   3–4. Componentes y responsive escritos a mano
   ========================================================================== */

/* Clean Services — paleta cerrada (DESIGN.md §3). No agregar colores. */
:root{
--cs-marino:#101847;
--cs-marino-2:#1A2560;
--cs-azul-real:#14297A;
--cs-celeste:#1F80B7;
--cs-celeste-texto:#1B6E9E;
--cs-celeste-claro:#7CC4EA;
--cs-blanco:#FFFFFF;
--cs-niebla:#F3F6FA;
--cs-hielo:#E4EFF7;
--cs-pizarra:#4A5370;
--cs-bruma:#B9C3DC;
--cs-borde:#D9E2EE;

/* Semánticos — superficies */
--surface-page:var(--cs-blanco);
--surface-alt:var(--cs-niebla);
--surface-accent:var(--cs-hielo);
--surface-dark:var(--cs-marino);
--surface-dark-raised:var(--cs-marino-2);
--surface-card:var(--cs-blanco);
--surface-input:var(--cs-hielo);

/* Semánticos — texto */
--text-heading:var(--cs-marino);
--text-body:var(--cs-marino);
--text-secondary:var(--cs-pizarra);
--text-link:var(--cs-celeste-texto);
--text-on-dark:var(--cs-blanco);
--text-secondary-on-dark:var(--cs-bruma);
--text-accent-large:var(--cs-celeste);       /* solo ≥ 32px */
--text-accent-on-dark:var(--cs-celeste-claro);
--text-error:var(--cs-marino);               /* sin rojo: error = marino + ícono */

/* Semánticos — acción y línea */
--action-primary:var(--cs-azul-real);
--action-primary-hover:var(--cs-marino);
--action-on-primary:var(--cs-blanco);
--accent:var(--cs-celeste);
--focus-ring:var(--cs-celeste);
--line:var(--cs-borde);
--line-on-dark:rgba(185,195,220,.25);/* @kind color */

/* Velo de foto: marino 90% → marino 40% (único degradado permitido) */
--photo-veil:linear-gradient(90deg,rgba(16,24,71,.9) 0%,rgba(16,24,71,.4) 100%);/* @kind color */
--photo-veil-text:rgba(16,24,71,.65);/* @kind color */
}
/* Outfit (títulos 500/600) + Source Sans 3 (texto 400/600). DESIGN.md §4 */
:root{
--font-display:'Outfit',system-ui,sans-serif;
--font-body:'Source Sans 3',system-ui,sans-serif;

--fs-h1:64px;--lh-h1:1.05;/* @kind font */--ls-h1:-0.03em;/* @kind font */--fw-h1:600;/* @kind font */
--fs-h2:44px;--lh-h2:1.1;/* @kind font */--ls-h2:-0.02em;/* @kind font */--fw-h2:600;/* @kind font */
--fs-h3:26px;--lh-h3:1.2;/* @kind font */--ls-h3:-0.01em;/* @kind font */--fw-h3:500;/* @kind font */
--fs-h4:20px;--lh-h4:1.3;/* @kind font */--ls-h4:0;/* @kind font */--fw-h4:600;/* @kind font */
--fs-lead:20px;--lh-lead:1.6;/* @kind font */
--fs-body:17px;--lh-body:1.65;/* @kind font */
--fs-small:14px;--lh-small:1.5;/* @kind font */
--fs-button:16px;--lh-button:1;/* @kind font */--ls-button:0.01em;/* @kind font */--fw-button:600;/* @kind font */
--fs-step-number:48px;

--measure:65ch;/* @kind other */
}
@media (max-width:767px){
:root{--fs-h1:38px;--fs-h2:30px;--fs-h3:22px;--fs-h4:19px;--fs-lead:18px;--fs-body:16px;}
}
/* Layout, ritmo y radios. DESIGN.md §5 */
:root{
--container-max:1240px;
--gutter-page:48px;
--grid-columns:12;/* @kind other */
--grid-gutter:24px;
--section-pad-top:120px;
--section-pad-bottom:136px; /* un poco más abajo que arriba */

--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:120px;

--radius-lg:20px;   /* contenedores grandes y fotos */
--radius-card:14px; /* tarjetas */
--radius-input:10px;
--radius-pill:999px;
--radius-button:10px; /* botones: rectángulo de esquinas suaves, igual que inputs */
--radius-button-icon:6px; /* cuadrado de la flecha, concéntrico con el botón */

--nav-height:80px;
--input-height:52px;
--inner-header-height:360px;
--tap-min:44px;
}
@media (max-width:767px){
:root{--gutter-page:24px;--section-pad-top:72px;--section-pad-bottom:84px;}
}
/* Sombras teñidas de marino, diagonal, movimiento. DESIGN.md §2, §3, §8 */
:root{
--shadow-card:0 18px 40px -12px rgba(16,24,71,.18);
--shadow-float:0 30px 60px -20px rgba(16,24,71,.30);
--focus-outline:3px solid var(--cs-celeste);/* @kind other */
--focus-offset:3px;/* @kind spacing */

--diagonal-angle:6deg;/* @kind other */
--diagonal-tan:0.1051;/* @kind other */     /* tan(6°): alto de la diagonal = ancho × 0.1051 */
--diagonal-stripe:6px;/* @kind spacing */     /* franja celeste #1F80B7 */

--ease-out:cubic-bezier(0.22,1,0.36,1);/* @kind other */
--dur-hover:200ms;/* @kind other */
--dur-reveal:500ms;/* @kind other */
--dur-hero:600ms;/* @kind other */
--reveal-offset:16px;/* @kind spacing */
--hover-lift:-4px;/* @kind spacing */

--photo-pattern:repeating-linear-gradient(-45deg,rgba(185,195,220,.07) 0 1px,transparent 1px 14px);/* @kind other */
}
/* Reset mínimo + defaults de marca */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-heading);margin:0;text-wrap:balance}
h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-h1);font-weight:600}
h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);font-weight:600}
h3{font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);font-weight:500}
h4{font-size:var(--fs-h4);line-height:var(--lh-h4);font-weight:600}
p{margin:0;max-width:var(--measure);text-wrap:pretty}
a{color:var(--text-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--cs-azul-real)}
:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}
.cs-tabular{font-variant-numeric:tabular-nums}
@keyframes cs-reveal{from{opacity:0;transform:translateY(var(--reveal-offset))}to{opacity:1;transform:none}}
@keyframes cs-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes cs-draw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Defaults del documento del diseño */
body{margin:0;background:#FFFFFF;color:#101847;font-family:'Source Sans 3',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#1B6E9E}
a:hover{color:#14297A}
a:focus-visible,button:focus-visible{outline:3px solid #1F80B7;outline-offset:3px}

/* ===== Generado desde Claude Design (no editar a mano: ver overrides al final) ===== */
.cs-base__b1 { background: rgb(255, 255, 255); }
.cs-cabecera__header1 { position: sticky; top: 0px; z-index: 50; height: 80px; background: rgb(255, 255, 255); border-bottom: 1px solid rgb(217, 226, 238); }
.cs-cabecera__b1 { max-width: 1240px; margin: 0px auto; padding: 0px 48px; height: 100%; display: flex; align-items: center; gap: 40px; box-sizing: border-box; }
.cs-cabecera__a1 { display: block; flex: 0 0 auto; }
.cs-cabecera__img1 { height: 56px; width: auto; display: block; }
.cs-cabecera__nav1 { display: flex; align-items: center; gap: 28px; margin-left: auto; height: 100%; }
.cs-cabecera__b2 { position: relative; height: 100%; display: flex; align-items: center; }
.cs-cabecera__a2 { position: relative; display: flex; align-items: center; gap: 4px; height: 44px; font-size: 16px; font-weight: 600; color: rgb(16, 24, 71); text-decoration: none; }
.cs-cabecera__s1 { position: absolute; left: 0px; right: 0px; bottom: 4px; height: 2px; background: rgb(31, 128, 183); }
.cs-cabecera__a3 { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 48px; padding: 16px 28px; border-radius: var(--radius-button); font-family: var(--font-body); font-size: var(--fs-button); font-weight: 600; line-height: 1; letter-spacing: 0.01em; text-decoration: none; cursor: pointer; transition: background-color 200ms var(--ease-out), color 200ms var(--ease-out), border-color 200ms var(--ease-out); opacity: 1; box-sizing: border-box; white-space: nowrap; background: var(--cs-azul-real); color: var(--cs-blanco); border: 1.5px solid transparent; }
.cs-cabecera__s2 { display: flex; align-items: center; gap: 10px; font-variant-numeric: tabular-nums; }
.cs-hero__section1 { position: relative; background: rgb(16, 24, 71); overflow: visible; }
.cs-hero__b1 { position: absolute; left: max(0px, 50% - 760px); top: 40px; pointer-events: none; }
.cs-hero__svg1 { display: block; opacity: 0.2; pointer-events: none; }
.cs-hero__b2 { position: relative; max-width: 1240px; margin: 0px auto; padding: 88px 48px 0px; box-sizing: border-box; display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); column-gap: 24px; align-items: center; }
.cs-hero__b3 { grid-column: 1 / span 7; display: flex; flex-direction: column; gap: 28px; padding: 0px 24px 120px 0px; }
.cs-hero__h11 { font-family: var(--font-display); font-size: 64px; font-weight: 600; line-height: 1.05; letter-spacing: -0.03em; color: rgb(255, 255, 255); margin: 0px; text-wrap: balance; }
.cs-hero__s1 { color: rgb(124, 196, 234); }
.cs-hero__p1 { margin: 0px; font-size: 20px; line-height: 1.6; color: rgb(185, 195, 220); max-width: 56ch; text-wrap: pretty; }
.cs-hero__b4 { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 15px; line-height: 1.5; color: rgb(185, 195, 220); }
.cs-hero__b5 { display: flex; flex-wrap: wrap; gap: 16px; padding-top: 8px; }
.cs-hero__a1 { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; padding: 8px 8px 8px 28px; border-radius: var(--radius-button); font-family: var(--font-body); font-size: var(--fs-button); font-weight: 600; line-height: 1; letter-spacing: 0.01em; text-decoration: none; cursor: pointer; transition: background-color 200ms var(--ease-out), color 200ms var(--ease-out), border-color 200ms var(--ease-out); opacity: 1; box-sizing: border-box; white-space: nowrap; background: var(--cs-azul-real); color: var(--cs-blanco); border: 1.5px solid transparent; }
.cs-hero__s2 { width: 32px; height: 32px; border-radius: var(--radius-button-icon); background: var(--cs-blanco); display: grid; place-items: center; flex: 0 0 auto; }
.cs-hero__svg2 { display: block; flex: 0 0 auto; transform: none; transition: transform 200ms ease-out; }
.cs-hero__a2 { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 48px; padding: 16px 28px; border-radius: var(--radius-button); font-family: var(--font-body); font-size: var(--fs-button); font-weight: 600; line-height: 1; letter-spacing: 0.01em; text-decoration: none; cursor: pointer; transition: background-color 200ms var(--ease-out), color 200ms var(--ease-out), border-color 200ms var(--ease-out); opacity: 1; box-sizing: border-box; white-space: nowrap; background: transparent; color: var(--cs-blanco); border: 1.5px solid var(--cs-blanco); }
.cs-hero__b6 { grid-column: 8 / span 5; position: relative; margin-bottom: -120px; z-index: 1; }
.cs-hero__b7 { position: relative; aspect-ratio: 4 / 5; border-radius: var(--radius-lg); overflow: hidden; background-image: var(--photo-pattern); background-color: var(--cs-marino-2); }
.cs-hero__b8 { position: absolute; inset: 0px; display: flex; align-items: center; justify-content: center; padding: 24px; text-align: center; }
.cs-hero__s3 { max-width: 320px; font-family: var(--font-body); font-size: 14px; line-height: 1.5; color: var(--cs-bruma); text-wrap: balance; }
.cs-hero__s4 { font-weight: 600; letter-spacing: 0.04em; color: var(--cs-blanco); }
.cs-hero__b9 { position: absolute; left: -72px; bottom: 130px; z-index: 3; }
.cs-hero__b10 { display: flex; align-items: flex-start; gap: 16px; background: rgb(228, 239, 247); border: 1px solid rgb(217, 226, 238); border-radius: 14px; padding: 20px; box-shadow: var(--shadow-float); width: 320px; box-sizing: border-box; }
.cs-hero__s5 { width: 44px; height: 44px; border-radius: 12px; background: rgb(255, 255, 255); border: 1px solid rgb(217, 226, 238); display: grid; place-items: center; flex: 0 0 auto; }
.cs-hero__b11 { display: flex; flex-direction: column; gap: 8px; }
.cs-hero__b12 { font-family: var(--font-display); font-size: 17px; font-weight: 600; line-height: 1.3; color: rgb(16, 24, 71); text-wrap: balance; }
.cs-hero__a3 { display: inline-flex; align-items: center; gap: 6px; color: var(--cs-celeste-texto); font-family: var(--font-body); font-weight: 600; text-decoration: underline 1px; text-underline-offset: 3px; transition: color 200ms ease-out; }
.cs-hero__b13 { position: relative; z-index: 2; }
.cs-hero__svg3 { display: block; width: 100%; height: auto; aspect-ratio: 1000 / 105.1; margin: -1px 0px -4px; }
.cs-respaldo__b1 { position: absolute; left: 0px; right: 0px; bottom: 76px; transform: translateY(50%); z-index: 4; padding: 0px 48px; }
.cs-respaldo__a1 { max-width: 1144px; margin: 0px auto; display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); background: rgb(255, 255, 255); border-radius: 14px; box-shadow: var(--shadow-float); text-decoration: none; color: rgb(16, 24, 71); transition: transform 200ms var(--ease-out); }
.cs-respaldo__s1 { display: flex; align-items: center; gap: 14px; padding: 28px; }
.cs-respaldo__s2 { font-family: var(--font-display); font-size: 18px; font-weight: 500; line-height: 1.3; color: rgb(16, 24, 71); }
.cs-respaldo__s3 { display: flex; align-items: center; gap: 14px; padding: 28px; border-left: 1px solid rgb(217, 226, 238); }
.cs-respaldo__svg1 { flex: 0 0 auto; }
.cs-servicios__section1 { background: rgb(255, 255, 255); padding: 96px 48px 136px; }
.cs-servicios__b1 { max-width: 1144px; margin: 0px auto; display: flex; flex-direction: column; gap: 64px; }
.cs-servicios__b2 { display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); column-gap: 24px; align-items: end; }
.cs-servicios__h21 { grid-column: 1 / span 6; font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; color: rgb(16, 24, 71); margin: 0px; text-wrap: balance; }
.cs-servicios__p1 { grid-column: 7 / span 6; margin: 0px; font-size: 17px; line-height: 1.65; color: rgb(74, 83, 112); max-width: 65ch; text-wrap: pretty; }
.cs-servicios__b3 { display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); column-gap: 24px; align-items: start; }
.cs-servicios__article1 { grid-column: 1 / span 7; display: flex; flex-direction: column; gap: 24px; transition: transform 200ms var(--ease-out); }
.cs-servicios__b4 { position: relative; aspect-ratio: 4 / 3; border-radius: var(--radius-lg); overflow: hidden; background-image: var(--photo-pattern); background-color: var(--cs-marino-2); }
.cs-servicios__b5 { display: flex; flex-direction: column; gap: 14px; padding-right: 48px; }
.cs-servicios__h31 { font-family: var(--font-display); font-size: 30px; font-weight: 600; line-height: 1.2; letter-spacing: -0.02em; color: rgb(16, 24, 71); margin: 0px; }
.cs-servicios__p2 { margin: 0px; font-size: 17px; line-height: 1.65; color: rgb(74, 83, 112); max-width: 58ch; text-wrap: pretty; }
.cs-servicios__b6 { grid-column: 8 / span 5; display: flex; flex-direction: column; gap: 40px; }
.cs-servicios__article2 { display: flex; flex-direction: column; gap: 20px; transition: transform 200ms var(--ease-out); }
.cs-servicios__b7 { position: relative; aspect-ratio: 16 / 7; border-radius: var(--radius-lg); overflow: hidden; background-image: var(--photo-pattern); background-color: var(--cs-marino-2); }
.cs-servicios__b8 { display: flex; flex-direction: column; gap: 12px; }
.cs-servicios__h32 { font-family: var(--font-display); font-size: 24px; font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; color: rgb(16, 24, 71); margin: 0px; }
.cs-servicios__p3 { margin: 0px; font-size: 17px; line-height: 1.65; color: rgb(74, 83, 112); text-wrap: pretty; }
.cs-servicios__b9 { height: 1px; background: rgb(217, 226, 238); }
.cs-sectores__section1 { background: rgb(243, 246, 250); padding: 120px 48px 40px; }
.cs-sectores__article1 { grid-column: 1 / span 5; display: flex; flex-direction: column; gap: 24px; }
.cs-sectores__b1 { display: flex; flex-direction: column; gap: 14px; }
.cs-sectores__b2 { display: flex; align-items: center; gap: 16px; padding-top: 16px; margin-top: 4px; border-top: 1px solid rgb(217, 226, 238); }
.cs-sectores__s1 { font-size: 14px; line-height: 1.5; color: rgb(74, 83, 112); }
.cs-sectores__s2 { opacity: 0.7; border: 1.5px dashed rgb(16, 24, 71); border-radius: 10px; padding: 8px 16px; font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: 0.04em; color: rgb(16, 24, 71); }
.cs-sectores__b3 { grid-column: 7 / span 6; display: flex; flex-direction: column; gap: 40px; padding-top: 8px; }
.cs-sectores__article2 { display: grid; grid-template-columns: repeat(6, minmax(0px, 1fr)); column-gap: 24px; align-items: start; }
.cs-sectores__b4 { grid-column: 1 / span 3; }
.cs-sectores__b5 { position: relative; aspect-ratio: 3 / 4; border-radius: var(--radius-lg); overflow: hidden; background-image: var(--photo-pattern); background-color: var(--cs-marino-2); }
.cs-sectores__b6 { grid-column: 4 / span 3; display: flex; flex-direction: column; gap: 12px; padding-top: 8px; }
.cs-sectores__h31 { font-family: var(--font-display); font-size: 24px; font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; color: rgb(16, 24, 71); margin: 0px; text-wrap: balance; }
.cs-sectores__b7 { display: flex; }
.cs-sectores__a1 { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; padding: 8px 8px 8px 28px; border-radius: var(--radius-button); font-family: var(--font-body); font-size: var(--fs-button); font-weight: 600; line-height: 1; letter-spacing: 0.01em; text-decoration: none; cursor: pointer; transition: background-color 200ms var(--ease-out), color 200ms var(--ease-out), border-color 200ms var(--ease-out); opacity: 1; box-sizing: border-box; white-space: nowrap; background: transparent; color: var(--cs-azul-real); border: 1.5px solid var(--cs-azul-real); }
.cs-sectores__s3 { width: 32px; height: 32px; border-radius: var(--radius-button-icon); background: var(--cs-azul-real); display: grid; place-items: center; flex: 0 0 auto; }
.cs-como-trabajamos__section1 { background: rgb(16, 24, 71); }
.cs-como-trabajamos__b1 { max-width: 1240px; margin: 0px auto; padding: 48px 48px 72px; box-sizing: border-box; display: flex; flex-direction: column; gap: 64px; }
.cs-como-trabajamos__h21 { font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; color: rgb(255, 255, 255); margin: 0px; }
.cs-como-trabajamos__ol1 { list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 0px; }
.cs-como-trabajamos__li1 { display: flex; flex-direction: column; gap: 12px; padding-right: 24px; }
.cs-como-trabajamos__b2 { display: flex; align-items: center; gap: 20px; }
.cs-como-trabajamos__s1 { font-family: var(--font-display); font-size: 48px; font-weight: 500; line-height: 1; letter-spacing: -0.02em; color: rgb(124, 196, 234); font-variant-numeric: tabular-nums; }
.cs-como-trabajamos__s2 { flex: 1 1 0%; height: 2px; background: rgb(31, 128, 183); }
.cs-como-trabajamos__b3 { font-family: var(--font-display); font-size: 20px; font-weight: 600; line-height: 1.3; color: rgb(255, 255, 255); }
.cs-como-trabajamos__p1 { margin: 0px; font-size: 17px; line-height: 1.65; color: rgb(185, 195, 220); text-wrap: pretty; }
.cs-por-que-elegirnos__b1 { max-width: 1144px; margin: 0px auto; display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); column-gap: 24px; align-items: start; }
.cs-por-que-elegirnos__h21 { grid-column: 1 / span 4; font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; color: rgb(16, 24, 71); margin: 0px; text-wrap: balance; }
.cs-por-que-elegirnos__b2 { grid-column: 5 / span 8; display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); column-gap: 48px; }
.cs-por-que-elegirnos__b3 { display: flex; gap: 18px; padding: 32px 0px 40px; border-top: 1px solid rgb(217, 226, 238); }
.cs-por-que-elegirnos__b4 { display: flex; flex-direction: column; gap: 10px; }
.cs-por-que-elegirnos__h31 { font-family: var(--font-display); font-size: 20px; font-weight: 600; line-height: 1.3; color: rgb(16, 24, 71); margin: 0px; padding-top: 3px; }
.cs-sostenibilidad__section1 { background: rgb(243, 246, 250); padding: 120px 48px 136px; }
.cs-sostenibilidad__b1 { max-width: 1144px; margin: 0px auto; display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); column-gap: 24px; align-items: center; }
.cs-sostenibilidad__b2 { grid-column: 1 / span 5; margin-top: -160px; position: relative; z-index: 1; }
.cs-sostenibilidad__b3 { grid-column: 7 / span 6; display: flex; flex-direction: column; gap: 28px; align-items: flex-start; padding-bottom: 40px; }
.cs-sostenibilidad__h21 { font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; color: rgb(16, 24, 71); margin: 0px; text-wrap: balance; }
.cs-certificaciones__section1 { background: rgb(255, 255, 255); padding: 120px 48px 48px; }
.cs-certificaciones__b1 { grid-column: 1 / span 5; display: flex; justify-content: center; }
.cs-certificaciones__b2 { width: 78%; aspect-ratio: 3 / 4; border: 1.5px dashed rgb(31, 128, 183); border-radius: 14px; background: rgb(255, 255, 255); box-shadow: var(--shadow-card); transform: rotate(-2deg); display: grid; place-items: center; padding: 32px; box-sizing: border-box; text-align: center; font-size: 14px; font-weight: 600; line-height: 1.5; letter-spacing: 0.02em; color: rgb(27, 110, 158); }
.cs-certificaciones__b3 { grid-column: 7 / span 6; display: flex; flex-direction: column; gap: 28px; align-items: flex-start; }
.cs-certificaciones__h21 { font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; color: rgb(16, 24, 71); margin: 0px; }
.cs-cierre__b1 { background: rgb(16, 24, 71); padding: 48px 48px 120px; }
.cs-cierre__b2 { max-width: 820px; margin: 0px auto; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 28px; }
.cs-cierre__h21 { font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; color: rgb(255, 255, 255); margin: 0px; text-wrap: balance; }
.cs-cierre__b3 { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 48px; padding: 8px 0px; }
.cs-cierre__a1 { display: flex; align-items: center; gap: 14px; min-height: 44px; font-family: var(--font-display); font-size: 32px; font-weight: 500; letter-spacing: -0.01em; color: rgb(255, 255, 255); text-decoration: none; font-variant-numeric: tabular-nums; }
.cs-cierre__a2 { display: flex; align-items: center; gap: 14px; min-height: 44px; font-family: var(--font-display); font-size: 32px; font-weight: 500; letter-spacing: -0.01em; color: rgb(255, 255, 255); text-decoration: none; }
.cs-cierre__a3 { display: inline-flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; padding: 8px 8px 8px 28px; border-radius: var(--radius-button); font-family: var(--font-body); font-size: var(--fs-button); font-weight: 600; line-height: 1; letter-spacing: 0.01em; text-decoration: none; cursor: pointer; transition: background-color 200ms var(--ease-out), color 200ms var(--ease-out), border-color 200ms var(--ease-out); opacity: 1; box-sizing: border-box; white-space: nowrap; background: transparent; color: var(--cs-blanco); border: 1.5px solid var(--cs-blanco); }
.cs-pie__footer1 { background: rgb(16, 24, 71); position: relative; overflow: hidden; color: rgb(185, 195, 220); }
.cs-pie__b1 { position: absolute; right: max(24px, 50% - 620px); top: 24px; }
.cs-pie__svg1 { display: block; opacity: 0.22; pointer-events: none; }
.cs-pie__b2 { position: relative; max-width: 1240px; margin: 0px auto; padding: 96px 48px 0px; box-sizing: border-box; }
.cs-pie__b3 { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1.35fr; gap: 48px 32px; }
.cs-pie__b4 { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
.cs-pie__s1 { background: rgb(255, 255, 255); border-radius: 10px; padding: 6px 14px; display: block; }
.cs-pie__img1 { height: 52px; width: auto; display: block; }
.cs-pie__b5 { border: 1.5px dashed rgb(124, 196, 234); border-radius: 10px; padding: 8px 12px; font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: 0.02em; color: rgb(124, 196, 234); }
.cs-pie__p1 { margin: 0px; font-size: 16px; line-height: 1.6; color: rgb(185, 195, 220); }
.cs-pie__b6 { display: flex; align-items: flex-start; gap: 14px; background: rgb(228, 239, 247); border: 1px solid rgb(217, 226, 238); border-radius: 14px; padding: 18px; max-width: 320px; box-sizing: border-box; }
.cs-pie__s2 { width: 40px; height: 40px; border-radius: 10px; background: rgb(255, 255, 255); border: 1px solid rgb(217, 226, 238); display: grid; place-items: center; flex: 0 0 auto; }
.cs-pie__b7 { display: flex; flex-direction: column; gap: 6px; }
.cs-pie__b8 { font-family: var(--font-display); font-size: 16px; font-weight: 600; line-height: 1.3; color: rgb(16, 24, 71); text-wrap: balance; }
.cs-pie__b9 { font-family: var(--font-display); font-size: 18px; font-weight: 600; color: rgb(255, 255, 255); margin-bottom: 10px; }
.cs-pie__a1 { display: flex; align-items: center; min-height: 36px; font-size: 16px; color: rgb(185, 195, 220); text-decoration: none; }
.cs-pie__b10 { font-family: var(--font-display); font-size: 18px; font-weight: 600; color: rgb(255, 255, 255); margin-bottom: 2px; }
.cs-pie__a2 { display: flex; align-items: center; gap: 12px; min-height: 36px; font-size: 16px; color: rgb(255, 255, 255); text-decoration: none; font-variant-numeric: tabular-nums; }
.cs-pie__a3 { display: flex; align-items: center; gap: 12px; min-height: 36px; font-size: 16px; color: rgb(255, 255, 255); text-decoration: none; }
.cs-pie__b11 { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.5; color: rgb(185, 195, 220); }
.cs-pie__b12 { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.cs-pie__b13 { margin-top: 56px; display: flex; }
.cs-pie__a4 { display: flex; align-items: center; gap: 14px; min-height: 56px; padding: 8px 20px 8px 12px; border: 1px solid rgba(185, 195, 220, 0.25); border-radius: 10px; background: rgb(26, 37, 96); color: rgb(255, 255, 255); text-decoration: none; font-size: 16px; font-weight: 600; }
.cs-pie__s3 { width: 40px; height: 40px; border-radius: 6px; background: rgb(255, 255, 255); display: grid; place-items: center; flex: 0 0 auto; }
.cs-pie__b14 { margin-top: 56px; padding: 28px 0px 36px; border-top: 1px solid rgba(185, 195, 220, 0.25); display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: 14px; line-height: 1.5; color: rgb(185, 195, 220); }
.cs-pie__s4 { font-variant-numeric: tabular-nums; }
.cs-pie__a5 { color: rgb(185, 195, 220); }
.cs-hero__section2 { background: rgb(16, 24, 71); position: relative; overflow: hidden; }
.cs-hero__b14 { position: absolute; left: max(0px, 50% - 760px); top: -40px; pointer-events: none; }
.cs-hero__svg4 { display: block; opacity: 0.16; pointer-events: none; }
.cs-hero__b15 { position: relative; max-width: 1240px; margin: 0px auto; padding: 64px 48px 0px; box-sizing: border-box; display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); column-gap: 24px; align-items: start; }
.cs-hero__b16 { grid-column: 1 / span 6; display: flex; flex-direction: column; gap: 28px; padding-top: 56px; padding-right: 24px; padding-bottom: 180px; }
.cs-hero__nav1 { display: flex; gap: 8px; font-size: 15px; color: rgb(185, 195, 220); }
.cs-hero__a4 { color: rgb(185, 195, 220); text-decoration: none; }
.cs-hero__s6 { color: rgb(255, 255, 255); }
.cs-hero__b17 { grid-column: 7 / span 6; align-self: end; margin-bottom: -40px; position: relative; z-index: 1; }
.cs-hero__b18 { position: relative; aspect-ratio: 4 / 3; border-radius: 20px 20px 0px 0px; overflow: hidden; background-image: var(--photo-pattern); background-color: var(--cs-marino-2); }
.cs-hero__b19 { position: relative; z-index: 2; margin-top: -150px; }
.cs-nuestra-empresa__section1 { background: rgb(255, 255, 255); padding: 88px 48px 136px; }
.cs-nuestra-empresa__b1 { max-width: 1144px; margin: 0px auto; display: flex; flex-direction: column; gap: 80px; }
.cs-nuestra-empresa__h21 { grid-column: 1 / span 4; font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; margin: 0px; text-wrap: balance; color: rgb(16, 24, 71); }
.cs-nuestra-empresa__p1 { grid-column: 5 / span 8; margin: 0px; font-size: 22px; line-height: 1.6; color: rgb(16, 24, 71); max-width: 62ch; text-wrap: pretty; }
.cs-nuestra-empresa__a1 { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); background: rgb(255, 255, 255); border: 1px solid rgb(217, 226, 238); border-radius: 14px; text-decoration: none; color: rgb(16, 24, 71); }
.cs-mision-y-vision__h21 { font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; margin: 0px; text-wrap: balance; color: rgb(16, 24, 71); }
.cs-mision-y-vision__b1 { display: grid; grid-template-columns: minmax(0px, 1fr) 1px minmax(0px, 1fr); column-gap: 64px; }
.cs-mision-y-vision__b2 { display: flex; flex-direction: column; gap: 20px; }
.cs-mision-y-vision__h31 { font-family: var(--font-display); font-size: 32px; font-weight: 600; line-height: 1.2; letter-spacing: -0.02em; margin: 0px; color: rgb(31, 128, 183); }
.cs-mision-y-vision__p1 { margin: 0px; font-size: 22px; line-height: 1.6; color: rgb(16, 24, 71); text-wrap: pretty; }
.cs-mision-y-vision__b3 { background: rgb(185, 195, 220); }
.cs-nuestros-valores__section1 { background: rgb(16, 24, 71); position: relative; }
.cs-nuestros-valores__b1 { max-width: 1240px; margin: 0px auto; padding: 40px 48px 96px; box-sizing: border-box; display: flex; flex-direction: column; gap: 64px; }
.cs-nuestros-valores__h21 { font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; margin: 0px; text-wrap: balance; color: rgb(255, 255, 255); }
.cs-nuestros-valores__ol1 { list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); column-gap: 24px; }
.cs-nuestros-valores__li1 { display: flex; flex-direction: column; gap: 16px; padding: 32px 24px 0px 0px; border-top: 1px solid rgba(185, 195, 220, 0.25); }
.cs-nuestros-valores__s1 { width: 64px; height: 64px; border-radius: 999px; background: rgb(255, 255, 255); display: grid; place-items: center; font-family: var(--font-display); font-size: 28px; font-weight: 600; line-height: 1; color: rgb(16, 24, 71); font-variant-numeric: tabular-nums; }
.cs-nuestros-valores__h31 { font-family: var(--font-display); font-size: 24px; font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; margin: 8px 0px 0px; color: rgb(255, 255, 255); }
.cs-politicas__section1 { background: rgb(255, 255, 255); padding: 72px 48px 136px; }
.cs-politicas__b1 { max-width: 1144px; margin: 0px auto; display: flex; flex-direction: column; gap: 56px; }
.cs-politicas__h21 { font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; margin: 0px; text-wrap: balance; color: rgb(16, 24, 71); max-width: 16em; }
.cs-politicas__b2 { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px; }
.cs-politicas__b3 { display: flex; flex-direction: column; gap: 24px; padding-top: 32px; border-top: 1px solid rgb(217, 226, 238); }
.cs-politicas__h31 { font-family: var(--font-display); font-size: 28px; font-weight: 600; line-height: 1.2; letter-spacing: -0.01em; margin: 0px; color: rgb(16, 24, 71); }
.cs-politicas__b4 { min-height: 240px; border: 1.5px dashed rgb(31, 128, 183); border-radius: 20px; display: grid; place-items: center; padding: 24px; box-sizing: border-box; text-align: center; font-size: 14px; font-weight: 600; line-height: 1.5; letter-spacing: 0.02em; color: rgb(27, 110, 158); }
.cs-respaldo__section1 { background: rgb(243, 246, 250); padding: 120px 48px 88px; }
.cs-respaldo__b2 { width: 360px; height: 360px; border-radius: 999px; background: rgb(255, 255, 255); border: 1px solid rgb(217, 226, 238); box-shadow: var(--shadow-card); display: grid; place-items: center; box-sizing: border-box; }
.cs-respaldo__b3 { width: 300px; height: 300px; border-radius: 999px; border: 1.5px dashed rgb(31, 128, 183); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; box-sizing: border-box; background: rgb(228, 239, 247); }
.cs-respaldo__s4 { font-family: var(--font-display); font-size: 40px; font-weight: 600; letter-spacing: 0.04em; line-height: 1; color: rgb(16, 24, 71); }
.cs-respaldo__s5 { font-size: 15px; line-height: 1.4; color: rgb(74, 83, 112); text-align: center; max-width: 16ch; }
.cs-respaldo__s6 { color: rgb(31, 128, 183); }
.cs-respaldo__p1 { margin: 0px; font-size: 22px; line-height: 1.6; color: rgb(16, 24, 71); max-width: 44ch; text-wrap: pretty; }
.cs-cierre__section1 { background: rgb(243, 246, 250); }
.cs-pie__a6 { display: flex; align-items: center; min-height: 36px; font-size: 16px; color: rgb(255, 255, 255); text-decoration: none; }
.cs-cabecera__b3 { position: absolute; right: max(0px, 50% - 720px); top: 32px; pointer-events: none; }
.cs-cabecera__svg1 { display: block; opacity: 0.18; pointer-events: none; }
.cs-cabecera__b4 { position: relative; max-width: 1240px; margin: 0px auto; padding: 64px 48px 24px; display: flex; flex-direction: column; gap: 24px; box-sizing: border-box; }
.cs-cabecera__h11 { font-family: var(--font-display); font-size: 64px; font-weight: 600; line-height: 1.05; letter-spacing: -0.03em; color: rgb(255, 255, 255); margin: 0px; text-wrap: balance; max-width: 860px; }
.cs-cabecera__p1 { margin: 0px; font-size: 20px; line-height: 1.6; color: rgb(185, 195, 220); max-width: 62ch; text-wrap: pretty; }
.cs-lineas-de-servicio__article1 { display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); column-gap: 24px; align-items: center; }
.cs-lineas-de-servicio__b1 { grid-area: 1 / 1 / auto / span 7; }
.cs-lineas-de-servicio__b2 { grid-area: 1 / 9 / auto / span 4; display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.cs-lineas-de-servicio__h31 { font-family: var(--font-display); font-size: 32px; font-weight: 600; line-height: 1.2; letter-spacing: -0.02em; color: rgb(16, 24, 71); margin: 0px; }
.cs-lineas-de-servicio__ul1 { list-style: none; margin: 0px; padding: 0px; display: flex; flex-direction: column; gap: 14px; }
.cs-lineas-de-servicio__li1 { display: flex; align-items: flex-start; gap: 14px; font-size: 17px; line-height: 1.5; color: rgb(16, 24, 71); }
.cs-lineas-de-servicio__s1 { padding-top: 4px; }
.cs-lineas-de-servicio__b3 { padding-top: 8px; }
.cs-lineas-de-servicio__b4 { grid-area: 1 / 6 / auto / span 7; }
.cs-lineas-de-servicio__b5 { grid-area: 1 / 1 / auto / span 4; display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.cs-respaldo__section2 { background: rgb(255, 255, 255); padding: 96px 48px 72px; }
.cs-respaldo__b4 { grid-column: 1 / span 5; display: flex; align-items: flex-start; gap: 24px; background: rgb(228, 239, 247); border: 1px solid rgb(217, 226, 238); border-radius: 20px; padding: 40px; box-sizing: border-box; }
.cs-respaldo__s7 { width: 72px; height: 72px; border-radius: 14px; background: rgb(255, 255, 255); border: 1px solid rgb(217, 226, 238); display: grid; place-items: center; flex: 0 0 auto; }
.cs-respaldo__b5 { font-family: var(--font-display); font-size: 26px; font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; color: rgb(16, 24, 71); text-wrap: balance; }
.cs-respaldo__b6 { grid-column: 7 / span 6; display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.cs-hero__b20 { position: relative; max-width: 1240px; margin: 0px auto; padding: 56px 48px 0px; box-sizing: border-box; display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); column-gap: 24px; align-items: start; }
.cs-hero__b21 { grid-column: 1 / span 7; display: flex; flex-direction: column; gap: 28px; padding-top: 40px; padding-right: 24px; padding-bottom: 170px; }
.cs-hero__h12 { font-family: var(--font-display); font-size: 60px; font-weight: 600; line-height: 1.05; letter-spacing: -0.03em; color: rgb(255, 255, 255); margin: 0px; text-wrap: balance; }
.cs-hero__p2 { margin: 0px; font-size: 20px; line-height: 1.6; color: rgb(185, 195, 220); max-width: 52ch; text-wrap: pretty; }
.cs-hero__b22 { grid-column: 8 / span 5; align-self: end; margin-bottom: -24px; position: relative; z-index: 1; }
.cs-hero__b23 { position: relative; aspect-ratio: 4 / 5; border-radius: 20px 20px 0px 0px; overflow: hidden; background-image: var(--photo-pattern); background-color: var(--cs-marino-2); }
.cs-que-incluye-el-servici__b1 { grid-column: 1 / span 8; display: flex; flex-direction: column; gap: 56px; }
.cs-que-incluye-el-servici__b2 { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); border-bottom: 1px solid rgb(217, 226, 238); }
.cs-que-incluye-el-servici__b3 { display: flex; flex-direction: column; gap: 16px; padding: 36px 40px 40px 0px; border-top: 1px solid rgb(217, 226, 238); border-left: 0px; }
.cs-que-incluye-el-servici__s1 { width: 56px; height: 56px; border-radius: 999px; background: rgb(228, 239, 247); display: grid; place-items: center; flex: 0 0 auto; }
.cs-que-incluye-el-servici__b4 { display: flex; flex-direction: column; gap: 16px; padding: 36px 0px 40px 40px; border-top: 1px solid rgb(217, 226, 238); border-left: 1px solid rgb(217, 226, 238); }
.cs-que-incluye-el-servici__b5 { grid-area: 1 / 9 / auto / span 4; margin-top: 8px; margin-bottom: -216px; position: relative; z-index: 3; }
.cs-modalidades-de-servici__b1 { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); }
.cs-modalidades-de-servici__b2 { display: flex; flex-direction: column; gap: 20px; padding: 8px 40px 8px 0px; border-left: 0px; }
.cs-modalidades-de-servici__h31 { font-family: var(--font-display); font-size: 26px; font-weight: 600; line-height: 1.2; letter-spacing: -0.01em; color: rgb(16, 24, 71); margin: 0px; }
.cs-modalidades-de-servici__p1 { margin: 0px; font-size: 17px; line-height: 1.65; color: rgb(74, 83, 112); max-width: 32ch; text-wrap: pretty; }
.cs-modalidades-de-servici__b3 { display: flex; flex-direction: column; gap: 20px; padding: 8px 40px; border-left: 1px solid rgb(217, 226, 238); }
.cs-lo-que-incluye-todo-co__section1 { background: rgb(255, 255, 255); padding: 120px 48px 0px; }
.cs-lo-que-incluye-todo-co__b1 { max-width: 1144px; margin: 0px auto; background: rgb(228, 239, 247); border-radius: 20px; padding: 64px 56px; box-sizing: border-box; display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); column-gap: 24px; align-items: start; }
.cs-lo-que-incluye-todo-co__h21 { grid-column: 1 / span 4; font-family: var(--font-display); font-size: 40px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; color: rgb(16, 24, 71); margin: 0px; text-wrap: balance; }
.cs-lo-que-incluye-todo-co__ul1 { grid-column: 6 / span 7; list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px 32px; }
.cs-lo-que-incluye-todo-co__li1 { display: flex; align-items: center; gap: 14px; font-size: 18px; line-height: 1.4; font-weight: 600; color: rgb(16, 24, 71); }
.cs-lo-que-incluye-todo-co__s1 { width: 32px; height: 32px; border-radius: 999px; background: rgb(255, 255, 255); display: grid; place-items: center; flex: 0 0 auto; }
.cs-complementa-con__section1 { background: rgb(255, 255, 255); padding: 120px 48px 72px; }
.cs-complementa-con__b1 { max-width: 1144px; margin: 0px auto; display: flex; flex-direction: column; gap: 48px; }
.cs-complementa-con__a1 { display: grid; grid-template-columns: minmax(0px, 5fr) minmax(0px, 6fr); background: rgb(255, 255, 255); border: 1px solid rgb(217, 226, 238); border-radius: 14px; overflow: hidden; box-shadow: var(--shadow-card); text-decoration: none; color: rgb(16, 24, 71); transition: transform 200ms var(--ease-out),box-shadow 200ms var(--ease-out); }
.cs-complementa-con__b2 { position: relative; aspect-ratio: 1 / 1; border-radius: 0px; overflow: hidden; background-image: var(--photo-pattern); background-color: var(--cs-marino-2); }
.cs-complementa-con__b3 { display: flex; flex-direction: column; gap: 14px; padding: 32px 32px 28px; align-items: flex-start; }
.cs-complementa-con__p1 { margin: 0px; font-size: 17px; line-height: 1.6; color: rgb(74, 83, 112); text-wrap: pretty; }
.cs-complementa-con__s1 { margin-top: auto; display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 16px; font-weight: 600; color: rgb(20, 41, 122); }
.cs-cierre__section2 { background: rgb(255, 255, 255); scroll-margin-top: 80px; }
.cs-cierre__b4 { max-width: 1144px; margin: 0px auto; display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.cs-cierre__b5 { flex: 5 1 340px; min-width: 0px; display: flex; flex-direction: column; gap: 28px; padding-top: 24px; }
.cs-cierre__p1 { margin: 0px; font-size: 20px; line-height: 1.6; color: rgb(185, 195, 220); text-wrap: pretty; }
.cs-cierre__b6 { display: flex; flex-direction: column; gap: 12px; padding-top: 24px; border-top: 1px solid rgba(185, 195, 220, 0.25); }
.cs-cierre__a4 { display: flex; align-items: center; gap: 14px; min-height: 44px; font-family: var(--font-display); font-size: 28px; font-weight: 500; color: rgb(255, 255, 255); text-decoration: none; font-variant-numeric: tabular-nums; }
.cs-cierre__a5 { display: flex; align-items: center; gap: 14px; min-height: 44px; font-family: var(--font-display); font-size: 28px; font-weight: 500; color: rgb(255, 255, 255); text-decoration: none; }
.cs-cierre__s1 { min-width: 0px; overflow-wrap: anywhere; }
.cs-cierre__b7 { flex: 7 1 480px; min-width: 0px; }
.cs-cierre__form1 { background: var(--cs-blanco); border-radius: var(--radius-lg); box-shadow: var(--shadow-float); border: none; padding: 40px; box-sizing: border-box; }
.cs-cierre__b8 { display: flex; flex-direction: column; gap: 24px; }
.cs-cierre__h31 { font-family: var(--font-display); font-size: 26px; font-weight: 500; line-height: 1.2; letter-spacing: -0.01em; color: var(--cs-marino); margin: 0px; }
.cs-cierre__b9 { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.cs-cierre__label1 { display: block; font-family: var(--font-body); font-size: 15px; font-weight: 600; color: var(--cs-marino); margin-bottom: 8px; line-height: 1.3; }
.cs-cierre__input1 { width: 100%; box-sizing: border-box; min-height: var(--input-height); height: var(--input-height); padding: 0px 16px; background: var(--cs-hielo); color: var(--cs-marino); border: 1px solid var(--cs-borde); border-radius: var(--radius-input); font-family: var(--font-body); font-size: 17px; line-height: 1.5; outline: none; outline-offset: 3px; appearance: none; transition: border-color 200ms ease-out; }
.cs-cierre__b10 { position: relative; }
.cs-cierre__select1 { width: 100%; box-sizing: border-box; min-height: var(--input-height); height: var(--input-height); padding: 0px 44px 0px 16px; background: var(--cs-hielo); color: var(--cs-marino); border: 1px solid var(--cs-borde); border-radius: var(--radius-input); font-family: var(--font-body); font-size: 17px; line-height: 1.5; outline: none; outline-offset: 3px; appearance: none; transition: border-color 200ms ease-out; cursor: pointer; }
.cs-cierre__svg1 { display: block; flex: 0 0 auto; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.cs-cierre__b11 { grid-column: 1 / -1; }
.cs-cierre__s2 { font-weight: 400; color: var(--cs-pizarra); }
.cs-cierre__textarea1 { width: 100%; box-sizing: border-box; min-height: 128px; padding: 14px 16px; background: var(--cs-hielo); color: var(--cs-marino); border: 1px solid var(--cs-borde); border-radius: var(--radius-input); font-family: var(--font-body); font-size: 17px; line-height: 1.5; outline: none; outline-offset: 3px; appearance: none; resize: vertical; transition: border-color 200ms ease-out; }
.cs-cierre__button1 { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; padding: 8px 8px 8px 28px; border-radius: var(--radius-button); font-family: var(--font-body); font-size: var(--fs-button); font-weight: 600; line-height: 1; letter-spacing: 0.01em; text-decoration: none; cursor: pointer; transition: background-color 200ms var(--ease-out), color 200ms var(--ease-out), border-color 200ms var(--ease-out); opacity: 1; box-sizing: border-box; white-space: nowrap; background: var(--cs-azul-real); color: var(--cs-blanco); border: 1.5px solid transparent; }
.cs-cierre__p2 { margin: 0px; font-size: 14px; line-height: 1.5; color: var(--cs-pizarra); }
.cs-cierre__a6 { display: inline-flex; align-items: center; gap: 6px; color: var(--cs-celeste-texto); font-family: var(--font-body); font-weight: 400; text-decoration: underline 1px; text-underline-offset: 3px; transition: color 200ms ease-out; }
.cs-hero__b24 { position: absolute; top: 56px; left: -72px; z-index: 3; width: 320px; }
.cs-hero__b25 { display: flex; align-items: flex-start; gap: 16px; background: var(--cs-hielo); border: 1px solid var(--cs-borde); border-radius: var(--radius-card); padding: 20px; box-shadow: var(--shadow-float); max-width: 340px; box-sizing: border-box; }
.cs-hero__s7 { width: 44px; height: 44px; border-radius: 12px; background: var(--cs-blanco); border: 1px solid var(--cs-borde); display: grid; place-items: center; flex: 0 0 auto; }
.cs-hero__b26 { font-family: var(--font-display); font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--cs-marino); text-wrap: balance; }
.cs-hero__a5 { display: inline-flex; align-items: center; gap: 6px; color: var(--cs-celeste-texto); font-family: var(--font-body); font-weight: 600; text-decoration: underline 1px; text-underline-offset: 3px; transition: color 200ms ease-out; font-size: 15px; }
.cs-servicios-de-desinfecc__b1 { max-width: 1144px; margin: 0px auto; display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: 56px 24px; align-items: start; }
.cs-servicios-de-desinfecc__h21 { grid-column: 1 / span 7; font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; margin: 0px; text-wrap: balance; color: rgb(16, 24, 71); }
.cs-servicios-de-desinfecc__article1 { grid-area: 2 / 1 / auto / span 7; display: flex; flex-direction: column; gap: 28px; }
.cs-servicios-de-desinfecc__h31 { font-family: var(--font-display); font-size: 32px; font-weight: 600; line-height: 1.2; letter-spacing: -0.015em; color: rgb(16, 24, 71); margin: 0px; text-wrap: balance; }
.cs-servicios-de-desinfecc__p1 { margin: 0px; font-size: 18px; line-height: 1.65; color: rgb(74, 83, 112); max-width: 58ch; text-wrap: pretty; }
.cs-servicios-de-desinfecc__b2 { grid-area: 1 / 9 / span 2 / span 4; padding-top: 120px; display: flex; flex-direction: column; gap: 56px; }
.cs-servicios-de-desinfecc__b3 { position: relative; aspect-ratio: 16 / 10; border-radius: var(--radius-lg); overflow: hidden; background-image: var(--photo-pattern); background-color: var(--cs-marino-2); }
.cs-como-lo-hacemos__li1 { display: flex; flex-direction: column; gap: 20px; padding-right: 24px; }
.cs-como-lo-hacemos__b1 { font-family: var(--font-display); font-size: 22px; font-weight: 600; line-height: 1.3; color: rgb(255, 255, 255); max-width: 16em; text-wrap: balance; }
.cs-productos-seguros__section1 { background: rgb(243, 246, 250); padding: 72px 48px 136px; }
.cs-productos-seguros__b1 { grid-column: 1 / span 5; display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.cs-productos-seguros__p1 { margin: 0px; font-size: 17px; line-height: 1.65; color: rgb(74, 83, 112); max-width: 52ch; text-wrap: pretty; }
.cs-productos-seguros__b2 { border: 1.5px dashed rgb(27, 110, 158); border-radius: 10px; padding: 8px 12px; font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: 0.02em; color: rgb(27, 110, 158); }
.cs-productos-seguros__b3 { grid-column: 7 / span 6; }
.cs-faq__b1 { grid-column: 5 / span 8; border-bottom: 1px solid rgb(217, 226, 238); }
.cs-faq__b2 { border-top: 1px solid rgb(217, 226, 238); }
.cs-faq__h31 { margin: 0px; }
.cs-faq__button1 { all: unset; color: rgb(16, 24, 71); font-family: var(--font-display); font-size: 21px; font-weight: 600; align-items: center; box-sizing: border-box; gap: 24px; cursor: pointer; display: flex; line-height: 1.35; min-height: 44px; padding: 28px 0px; width: 100%; }
.cs-faq__s1 { flex: 1 1 0%; text-wrap: balance; }
.cs-faq__s2 { width: 40px; height: 40px; border-radius: 999px; background: rgb(228, 239, 247); display: grid; place-items: center; flex: 0 0 auto; color: rgb(31, 128, 183); transform: rotate(180deg); transition: transform 200ms var(--ease-out); }
.cs-faq__p1 { margin: 0px; padding: 0px 64px 32px 0px; font-size: 17px; line-height: 1.65; color: rgb(74, 83, 112); max-width: 65ch; text-wrap: pretty; }
.cs-faq__s3 { width: 40px; height: 40px; border-radius: 999px; background: rgb(243, 246, 250); display: grid; place-items: center; flex: 0 0 auto; color: rgb(31, 128, 183); transform: rotate(0deg); transition: transform 200ms var(--ease-out); }
.cs-servicios-de-control-d__h21 { font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; margin: 0px; text-wrap: balance; color: rgb(16, 24, 71); max-width: 14em; }
.cs-servicios-de-control-d__b1 { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); column-gap: 24px; align-items: start; }
.cs-servicios-de-control-d__article1 { display: flex; flex-direction: column; gap: 24px; margin-top: 0px; }
.cs-servicios-de-control-d__b2 { display: flex; flex-direction: column; gap: 10px; padding-right: 16px; }
.cs-servicios-de-control-d__article2 { display: flex; flex-direction: column; gap: 24px; margin-top: 40px; }
.cs-servicios-de-control-d__b3 { position: relative; aspect-ratio: 1 / 1; border-radius: var(--radius-lg); overflow: hidden; background-image: var(--photo-pattern); background-color: var(--cs-marino-2); }
.cs-control-integrado__section1 { background: rgb(243, 246, 250); padding: 120px 48px 72px; }
.cs-control-integrado__b1 { background: rgb(255, 255, 255); border: 1px solid rgb(217, 226, 238); border-radius: 20px; padding: 64px 48px; }
.cs-control-integrado__s1 { font-family: var(--font-display); font-size: 48px; font-weight: 500; line-height: 1; letter-spacing: -0.02em; color: rgb(31, 128, 183); font-variant-numeric: tabular-nums; }
.cs-control-integrado__b2 { font-family: var(--font-display); font-size: 20px; font-weight: 600; line-height: 1.3; color: rgb(16, 24, 71); padding-top: 8px; }
.cs-constancia-de-servicio__b1 { max-width: 1240px; margin: 0px auto; padding: 56px 48px 104px; box-sizing: border-box; display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); column-gap: 24px; align-items: center; }
.cs-constancia-de-servicio__b2 { grid-column: 1 / span 6; display: flex; flex-direction: column; gap: 32px; align-items: flex-start; padding-right: 24px; }
.cs-constancia-de-servicio__h21 { font-family: var(--font-display); font-size: 56px; font-weight: 600; line-height: 1.05; letter-spacing: -0.03em; margin: 0px; text-wrap: balance; color: rgb(255, 255, 255); }
.cs-constancia-de-servicio__p1 { margin: 0px; font-size: 20px; line-height: 1.6; color: rgb(185, 195, 220); max-width: 46ch; text-wrap: pretty; }
.cs-constancia-de-servicio__ul1 { list-style: none; margin: 0px; padding: 24px 0px 0px; display: grid; gap: 16px; border-top: 1px solid rgba(185, 195, 220, 0.25); align-self: stretch; }
.cs-constancia-de-servicio__li1 { display: flex; align-items: center; gap: 14px; font-size: 18px; line-height: 1.5; color: rgb(255, 255, 255); }
.cs-constancia-de-servicio__b3 { grid-column: 7 / span 6; display: flex; flex-direction: column; align-items: center; gap: 40px; padding: 24px 0px; }
.cs-constancia-de-servicio__b4 { position: relative; width: 440px; }
.cs-constancia-de-servicio__b5 { position: absolute; inset: 0px; background: rgb(26, 37, 96); border: 1px solid rgba(185, 195, 220, 0.2); border-radius: 6px; transform: rotate(-2deg) translate(-18px, 14px); }
.cs-constancia-de-servicio__b6 { position: relative; background: rgb(255, 255, 255); border-radius: 6px; aspect-ratio: 1 / 1.3; padding: 40px 40px 36px; box-sizing: border-box; transform: rotate(3deg); box-shadow: rgba(16, 24, 71, 0.75) 0px 50px 90px -24px, rgba(16, 24, 71, 0.5) 0px 18px 40px -12px; display: flex; flex-direction: column; gap: 26px; }
.cs-constancia-de-servicio__b7 { display: flex; align-items: center; justify-content: space-between; padding-bottom: 18px; border-bottom: 2px solid rgb(16, 24, 71); }
.cs-constancia-de-servicio__img1 { height: 44px; width: auto; display: block; }
.cs-constancia-de-servicio__b8 { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.cs-constancia-de-servicio__s1 { display: block; width: 92px; height: 7px; border-radius: 999px; background: rgb(217, 226, 238); }
.cs-constancia-de-servicio__s2 { display: block; width: 64px; height: 7px; border-radius: 999px; background: rgb(217, 226, 238); }
.cs-constancia-de-servicio__b9 { font-family: var(--font-display); font-size: 26px; font-weight: 600; letter-spacing: -0.01em; color: rgb(16, 24, 71); }
.cs-constancia-de-servicio__b10 { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 24px; filter: blur(0.6px); opacity: 0.9; }
.cs-constancia-de-servicio__s3 { display: block; width: 48px; height: 8px; border-radius: 999px; background: rgb(185, 195, 220); }
.cs-constancia-de-servicio__b11 { display: flex; align-items: center; height: 22px; border-bottom: 1px solid rgb(217, 226, 238); }
.cs-constancia-de-servicio__s4 { display: block; width: 80%; height: 10px; border-radius: 999px; background: rgb(228, 239, 247); }
.cs-constancia-de-servicio__s5 { display: block; width: 64px; height: 8px; border-radius: 999px; background: rgb(185, 195, 220); }
.cs-constancia-de-servicio__s6 { display: block; width: 70%; height: 10px; border-radius: 999px; background: rgb(228, 239, 247); }
.cs-constancia-de-servicio__b12 { grid-column: 1 / span 2; }
.cs-constancia-de-servicio__s7 { display: block; width: 56px; height: 8px; border-radius: 999px; background: rgb(185, 195, 220); }
.cs-constancia-de-servicio__s8 { display: block; width: 90%; height: 10px; border-radius: 999px; background: rgb(228, 239, 247); }
.cs-constancia-de-servicio__s9 { display: block; width: 72px; height: 8px; border-radius: 999px; background: rgb(185, 195, 220); }
.cs-constancia-de-servicio__s10 { display: block; width: 60%; height: 10px; border-radius: 999px; background: rgb(228, 239, 247); }
.cs-constancia-de-servicio__b13 { grid-column: 1 / span 2; display: flex; flex-direction: column; gap: 10px; }
.cs-constancia-de-servicio__s11 { display: block; width: 100%; height: 8px; border-radius: 999px; background: rgb(228, 239, 247); }
.cs-constancia-de-servicio__s12 { display: block; width: 94%; height: 8px; border-radius: 999px; background: rgb(228, 239, 247); }
.cs-constancia-de-servicio__s13 { display: block; width: 70%; height: 8px; border-radius: 999px; background: rgb(228, 239, 247); }
.cs-constancia-de-servicio__b14 { margin-top: auto; display: flex; align-items: flex-end; justify-content: space-between; }
.cs-constancia-de-servicio__b15 { width: 96px; height: 96px; border-radius: 999px; border: 2px solid rgb(31, 128, 183); display: grid; place-items: center; transform: rotate(-14deg); box-sizing: border-box; }
.cs-constancia-de-servicio__b16 { width: 78px; height: 78px; border-radius: 999px; border: 1px dashed rgb(31, 128, 183); display: grid; place-items: center; box-sizing: border-box; }
.cs-constancia-de-servicio__b17 { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 170px; }
.cs-constancia-de-servicio__s14 { display: block; width: 100%; height: 1px; background: rgb(74, 83, 112); }
.cs-constancia-de-servicio__s15 { display: block; width: 72px; height: 7px; border-radius: 999px; background: rgb(217, 226, 238); }
.cs-constancia-de-servicio__s16 { font-size: 14px; line-height: 1.5; color: rgb(185, 195, 220); }
.cs-faq__section1 { background: rgb(255, 255, 255); padding: 72px 48px; }
.cs-ferroviario__b1 { grid-area: 1 / 9 / auto / span 4; display: flex; flex-direction: column; gap: 28px; align-items: flex-start; }
.cs-ferroviario__s1 { width: 56px; height: 56px; border-radius: 14px; background: rgb(228, 239, 247); display: grid; place-items: center; flex: 0 0 auto; }
.cs-ferroviario__p1 { margin: 0px; font-size: 17px; line-height: 1.65; color: rgb(74, 83, 112); text-wrap: pretty; max-width: 65ch; }
.cs-ferroviario__b2 { align-self: stretch; display: flex; flex-direction: column; gap: 16px; padding-top: 24px; border-top: 1px solid rgb(217, 226, 238); }
.cs-ferroviario__b3 { max-width: 240px; min-height: 56px; padding: 8px 12px; flex: 0 0 auto; border: 1.5px dashed rgb(31, 128, 183); border-radius: 10px; display: grid; place-items: center; box-sizing: border-box; font-size: 14px; font-weight: 600; letter-spacing: 0.02em; color: rgb(27, 110, 158); text-align: center; line-height: 1.3; }
.cs-ferroviario__s2 { font-size: 17px; line-height: 1.5; color: rgb(16, 24, 71); }
.cs-concesionarios-automot__b1 { grid-area: 1 / 1 / auto / span 4; display: flex; flex-direction: column; gap: 28px; align-items: flex-start; }
.cs-hoteleria__section1 { background: rgb(255, 255, 255); padding: 120px 48px 88px; }
.cs-cabecera__b5 { position: absolute; right: max(0px, 50% - 700px); top: 40px; pointer-events: none; }
.cs-cabecera__b6 { position: relative; max-width: 1240px; margin: 0px auto; padding: 120px 48px 40px; box-sizing: border-box; display: flex; flex-direction: column; gap: 28px; }
.cs-cabecera__h12 { font-family: var(--font-display); font-size: 64px; font-weight: 600; line-height: 1.05; letter-spacing: -0.03em; color: rgb(255, 255, 255); margin: 0px; text-wrap: balance; max-width: 13em; }
.cs-cabecera__p2 { margin: 0px; font-size: 22px; line-height: 1.6; color: rgb(185, 195, 220); max-width: 52ch; text-wrap: pretty; }
.cs-autorizacion-diresa__b1 { grid-column: 1 / span 5; }
.cs-autorizacion-diresa__b2 { aspect-ratio: 3 / 4; background: rgb(255, 255, 255); border: 1px solid rgb(217, 226, 238); border-radius: 14px; box-shadow: var(--shadow-float); padding: 28px; box-sizing: border-box; display: flex; }
.cs-autorizacion-diresa__b3 { flex: 1 1 0%; border: 1.5px dashed rgb(31, 128, 183); border-radius: 10px; background: rgb(243, 246, 250); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 24px; text-align: center; }
.cs-autorizacion-diresa__s1 { font-size: 14px; font-weight: 600; line-height: 1.5; letter-spacing: 0.02em; color: rgb(27, 110, 158); max-width: 22ch; }
.cs-autorizacion-diresa__b4 { grid-column: 7 / span 6; display: flex; flex-direction: column; gap: 28px; padding-top: 24px; }
.cs-autorizacion-diresa__p1 { margin: 0px; font-size: 19px; line-height: 1.65; color: rgb(16, 24, 71); max-width: 52ch; text-wrap: pretty; }
.cs-autorizacion-diresa__dl1 { margin: 12px 0px 0px; border-bottom: 1px solid rgb(217, 226, 238); }
.cs-autorizacion-diresa__b5 { display: grid; grid-template-columns: 200px minmax(0px, 1fr); column-gap: 24px; padding: 18px 0px; border-top: 1px solid rgb(217, 226, 238); }
.cs-autorizacion-diresa__dt1 { font-size: 15px; font-weight: 600; line-height: 1.5; color: rgb(74, 83, 112); }
.cs-autorizacion-diresa__dd1 { margin: 0px; font-size: 17px; line-height: 1.6; color: rgb(16, 24, 71); text-wrap: pretty; }
.cs-autorizacion-diresa__s2 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.cs-autorizacion-diresa__s3 { display: inline-block; border: 1.5px dashed rgb(31, 128, 183); border-radius: 10px; padding: 6px 10px; font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: 0.02em; color: rgb(27, 110, 158); }
.cs-personal__h21 { grid-column: 1 / span 5; font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; margin: 0px; text-wrap: balance; color: rgb(16, 24, 71); }
.cs-personal__p1 { grid-column: 7 / span 6; margin: 0px; font-size: 19px; line-height: 1.65; color: rgb(16, 24, 71); text-wrap: pretty; }
.cs-personal__ul1 { list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); column-gap: 24px; }
.cs-personal__li1 { display: flex; align-items: center; gap: 18px; padding: 28px 0px 0px; border-top: 1px solid rgb(185, 195, 220); }
.cs-personal__s1 { width: 56px; height: 56px; border-radius: 999px; background: rgb(255, 255, 255); border: 1px solid rgb(217, 226, 238); display: grid; place-items: center; flex: 0 0 auto; }
.cs-personal__s2 { font-family: var(--font-display); font-size: 20px; font-weight: 500; line-height: 1.3; color: rgb(16, 24, 71); text-wrap: balance; }
.cs-datos-legales__dl1 { grid-column: 5 / span 8; margin: 0px; background: rgb(228, 239, 247); border-radius: 20px; padding: 16px 40px; }
.cs-datos-legales__b1 { display: grid; grid-template-columns: 220px minmax(0px, 1fr); column-gap: 24px; padding: 22px 0px; border-bottom: 1px solid rgb(217, 226, 238); }
.cs-datos-legales__dd1 { margin: 0px; font-size: 18px; line-height: 1.55; color: rgb(16, 24, 71); }
.cs-datos-legales__b2 { display: grid; grid-template-columns: 220px minmax(0px, 1fr); column-gap: 24px; padding: 22px 0px; }
.cs-cierre__b12 { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px 40px; padding-top: 8px; }
.cs-cierre__s3 { display: flex; align-items: center; gap: 10px; }
.cs-cierre__a7 { display: flex; align-items: center; gap: 12px; min-height: 44px; font-family: var(--font-display); font-size: 22px; font-weight: 500; color: rgb(255, 255, 255); text-decoration: none; font-variant-numeric: tabular-nums; }
.cs-cabecera__b7 { position: relative; max-width: 1240px; margin: 0px auto; padding: 120px 48px 72px; box-sizing: border-box; display: flex; flex-direction: column; gap: 28px; }
.cs-cabecera__p3 { margin: 0px; font-size: 22px; line-height: 1.6; color: rgb(185, 195, 220); max-width: 40ch; text-wrap: pretty; }
.cs-como-comunicarse__section1 { background: rgb(255, 255, 255); padding: 0px 48px 136px; }
.cs-como-comunicarse__b1 { grid-column: 1 / span 5; display: flex; flex-direction: column; gap: 36px; padding-top: 24px; }
.cs-como-comunicarse__ul1 { list-style: none; margin: 0px; padding: 0px; border-bottom: 1px solid rgb(217, 226, 238); }
.cs-como-comunicarse__li1 { display: flex; align-items: flex-start; gap: 24px; padding: 28px 0px; border-top: 1px solid rgb(217, 226, 238); }
.cs-como-comunicarse__s1 { width: 64px; height: 64px; border-radius: 999px; background: rgb(228, 239, 247); display: grid; place-items: center; flex: 0 0 auto; }
.cs-como-comunicarse__b2 { display: flex; flex-direction: column; gap: 6px; padding-top: 4px; min-width: 0px; }
.cs-como-comunicarse__a1 { font-family: var(--font-display); font-size: 26px; font-weight: 500; line-height: 1.3; color: rgb(16, 24, 71); text-decoration: none; text-wrap: balance; font-variant-numeric: tabular-nums; }
.cs-como-comunicarse__a2 { font-family: var(--font-display); font-size: 26px; font-weight: 500; line-height: 1.3; color: rgb(16, 24, 71); text-decoration: none; text-wrap: balance; overflow-wrap: anywhere; }
.cs-como-comunicarse__s2 { font-size: 19px; line-height: 1.55; color: rgb(16, 24, 71); text-wrap: pretty; }
.cs-como-comunicarse__s3 { align-self: flex-start; border: 1.5px dashed rgb(31, 128, 183); border-radius: 10px; padding: 8px 12px; font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: 0.02em; color: rgb(27, 110, 158); }
.cs-como-comunicarse__b3 { grid-column: 6 / span 7; margin-top: -200px; position: relative; z-index: 2; }
.cs-como-comunicarse__select1 { width: 100%; box-sizing: border-box; min-height: var(--input-height); height: var(--input-height); padding: 0px 44px 0px 16px; background: var(--cs-hielo); color: var(--cs-pizarra); border: 1px solid var(--cs-borde); border-radius: var(--radius-input); font-family: var(--font-body); font-size: 17px; line-height: 1.5; outline: none; outline-offset: 3px; appearance: none; transition: border-color 200ms ease-out; cursor: pointer; }
.cs-donde-estamos__b1 { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.cs-donde-estamos__a1 { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 48px; padding: 16px 28px; border-radius: var(--radius-button); font-family: var(--font-body); font-size: var(--fs-button); font-weight: 600; line-height: 1; letter-spacing: 0.01em; text-decoration: none; cursor: pointer; transition: background-color 200ms var(--ease-out), color 200ms var(--ease-out), border-color 200ms var(--ease-out); opacity: 1; box-sizing: border-box; white-space: nowrap; background: transparent; color: var(--cs-azul-real); border: 1.5px solid var(--cs-azul-real); }
.cs-donde-estamos__b2 { display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); column-gap: 24px; align-items: stretch; }
.cs-donde-estamos__b3 { grid-column: 1 / span 7; border-radius: 20px; background: rgb(228, 239, 247); border: 1px solid rgb(217, 226, 238); padding: 20px; box-sizing: border-box; display: flex; }
.cs-donde-estamos__b4 { flex: 1 1 0%; border: 1.5px dashed rgb(31, 128, 183); border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 24px; text-align: center; }
.cs-donde-estamos__s1 { font-size: 14px; font-weight: 600; line-height: 1.5; letter-spacing: 0.02em; color: rgb(27, 110, 158); max-width: 30ch; }
.cs-donde-estamos__b5 { grid-column: 8 / span 5; }
.cs-cobertura__section1 { background: rgb(255, 255, 255); padding: 120px 48px 136px; }
.cs-cobertura__p1 { margin: 0px; font-size: 19px; line-height: 1.65; color: rgb(16, 24, 71); max-width: 44ch; text-wrap: pretty; }
.cs-cobertura__b1 { grid-column: 7 / span 6; display: flex; justify-content: center; }
.cs-cobertura__svg1 { display: block; max-width: 100%; height: auto; }
.cs-pie__footer2 { background: rgb(16, 24, 71); position: relative; overflow: hidden; color: rgb(185, 195, 220); }
.cs-hero__b27 { grid-column: 1 / span 7; display: flex; flex-direction: column; gap: 28px; padding-top: 64px; padding-right: 24px; padding-bottom: 200px; }
.cs-productos-de-bajo-impa__p1 { grid-column: 7 / span 6; margin: 0px; font-size: 19px; line-height: 1.65; color: rgb(16, 24, 71); max-width: 56ch; text-wrap: pretty; }
.cs-productos-de-bajo-impa__ul1 { list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 24px; }
.cs-productos-de-bajo-impa__li1 { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; padding: 28px; border: 1px solid rgb(217, 226, 238); border-radius: 14px; background: rgb(255, 255, 255); }
.cs-productos-de-bajo-impa__h31 { font-family: var(--font-display); font-size: 22px; font-weight: 600; line-height: 1.3; color: rgb(16, 24, 71); margin: 0px; }
.cs-productos-de-bajo-impa__s1 { display: inline-block; border: 1.5px dashed rgb(31, 128, 183); border-radius: 10px; padding: 8px 12px; font-size: 14px; font-weight: 600; line-height: 1.45; letter-spacing: 0.02em; color: rgb(27, 110, 158); }
.cs-manejo-de-residuos-sol__section1 { background: rgb(243, 246, 250); padding: 0px 48px 136px; }
.cs-manejo-de-residuos-sol__b1 { grid-column: 1 / span 7; margin-top: -40px; position: relative; z-index: 1; }
.cs-manejo-de-residuos-sol__b2 { grid-column: 9 / span 4; display: flex; flex-direction: column; gap: 28px; padding-top: 40px; }
.cs-manejo-de-residuos-sol__p1 { margin: 0px; font-size: 19px; line-height: 1.65; color: rgb(16, 24, 71); max-width: 56ch; text-wrap: pretty; }
.cs-uso-responsable__b1 { grid-column: 7 / span 6; display: flex; flex-direction: column; gap: 40px; }
.cs-uso-responsable__ul1 { list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); column-gap: 24px; }
.cs-uso-responsable__s1 { font-family: var(--font-display); font-size: 20px; font-weight: 500; line-height: 1.3; color: rgb(16, 24, 71); }
.cs-cierre__section3 { background: rgb(255, 255, 255); padding-top: 64px; }
.cs-libro-de-reclamaciones__b1 { max-width: 848px; margin: 0px auto; display: flex; flex-direction: column; gap: 32px; }
.cs-libro-de-reclamaciones__b2 { display: flex; flex-direction: column; gap: 16px; }
.cs-libro-de-reclamaciones__b3 { background: rgb(228, 239, 247); border: 1px solid rgb(217, 226, 238); border-radius: 14px; padding: 24px 28px; display: flex; flex-direction: column; gap: 6px; }
.cs-libro-de-reclamaciones__b4 { font-family: var(--font-display); font-size: 18px; font-weight: 600; line-height: 1.35; color: rgb(16, 24, 71); }
.cs-libro-de-reclamaciones__b5 { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 16px; line-height: 1.5; color: rgb(74, 83, 112); }
.cs-libro-de-reclamaciones__b6 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 14px; line-height: 1.5; color: rgb(74, 83, 112); font-variant-numeric: tabular-nums; padding: 0px 4px; }
.cs-libro-de-reclamaciones__s1 { display: flex; align-items: center; gap: 8px; }
.cs-libro-de-reclamaciones__s2 { border: 1.5px dashed rgb(31, 128, 183); border-radius: 6px; padding: 2px 8px; font-weight: 600; color: rgb(27, 110, 158); }
.cs-libro-de-reclamaciones__b7 { background: rgb(255, 255, 255); border: 1px solid rgb(217, 226, 238); border-radius: 20px; box-shadow: var(--shadow-card); padding: 16px 48px 48px; }
.cs-libro-de-reclamaciones__form1 { display: flex; flex-direction: column; }
.cs-libro-de-reclamaciones__fieldset1 { border: 0px; margin: 0px; padding: 32px 0px 40px; display: flex; flex-direction: column; gap: 24px; }
.cs-libro-de-reclamaciones__legend1 { display: contents; }
.cs-libro-de-reclamaciones__b8 { display: flex; align-items: center; gap: 14px; }
.cs-libro-de-reclamaciones__s3 { width: 32px; height: 32px; border-radius: 999px; background: rgb(228, 239, 247); display: grid; place-items: center; font-family: var(--font-display); font-size: 16px; font-weight: 600; color: rgb(27, 110, 158); }
.cs-libro-de-reclamaciones__h21 { font-family: var(--font-display); font-size: 22px; font-weight: 600; line-height: 1.3; margin: 0px; text-wrap: balance; }
.cs-libro-de-reclamaciones__b9 { display: grid; grid-template-columns: repeat(6, minmax(0px, 1fr)); gap: 20px; }
.cs-libro-de-reclamaciones__label1 { display: flex; align-items: center; gap: 12px; min-height: 44px; font-size: 16px; color: rgb(16, 24, 71); cursor: pointer; align-self: flex-start; }
.cs-libro-de-reclamaciones__input1 { width: 20px; height: 20px; margin: 0px; accent-color: rgb(20, 41, 122); cursor: pointer; }
.cs-libro-de-reclamaciones__fieldset2 { border-width: 1px 0px 0px; border-top-style: solid; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgb(217, 226, 238); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 40px 0px; display: flex; flex-direction: column; gap: 24px; }
.cs-libro-de-reclamaciones__b10 { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 16px; }
.cs-libro-de-reclamaciones__label2 { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 0px 18px; border-radius: 10px; border: 1px solid rgb(217, 226, 238); background: rgb(255, 255, 255); cursor: pointer; font-size: 17px; font-weight: 600; color: rgb(16, 24, 71); box-sizing: border-box; }
.cs-libro-de-reclamaciones__b11 { display: flex; align-items: flex-start; gap: 6px; margin-top: 8px; font-family: var(--font-body); font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--cs-marino); }
.cs-libro-de-reclamaciones__svg1 { display: block; flex: 0 0 auto; margin-top: 1px; }
.cs-libro-de-reclamaciones__label3 { display: flex; align-items: flex-start; gap: 12px; padding: 18px; border-radius: 10px; border: 1px solid rgb(217, 226, 238); background: rgb(255, 255, 255); cursor: pointer; box-sizing: border-box; }
.cs-libro-de-reclamaciones__input2 { width: 20px; height: 20px; margin: 2px 0px 0px; accent-color: rgb(20, 41, 122); cursor: pointer; flex: 0 0 auto; }
.cs-libro-de-reclamaciones__s4 { display: flex; flex-direction: column; gap: 4px; }
.cs-libro-de-reclamaciones__s5 { font-size: 17px; font-weight: 600; line-height: 1.3; color: rgb(16, 24, 71); }
.cs-libro-de-reclamaciones__s6 { font-size: 14px; line-height: 1.5; color: rgb(74, 83, 112); text-wrap: pretty; }
.cs-libro-de-reclamaciones__fieldset3 { border-width: 1px 0px 0px; border-top-style: solid; border-right-style: initial; border-bottom-style: initial; border-left-style: initial; border-top-color: rgb(217, 226, 238); border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; margin: 0px; padding: 40px 0px; display: flex; flex-direction: column; gap: 20px; }
.cs-libro-de-reclamaciones__h22 { font-family: var(--font-display); font-size: 22px; font-weight: 600; line-height: 1.3; margin: 0px; }
.cs-libro-de-reclamaciones__label4 { display: flex; align-items: center; gap: 12px; min-height: 44px; font-size: 16px; line-height: 1.5; color: rgb(16, 24, 71); cursor: pointer; }
.cs-libro-de-reclamaciones__input3 { width: 20px; height: 20px; margin: 0px; accent-color: rgb(20, 41, 122); cursor: pointer; flex: 0 0 auto; }
.cs-libro-de-reclamaciones__a1 { color: rgb(27, 110, 158); font-weight: 600; }
.cs-libro-de-reclamaciones__p1 { margin: 0px; font-size: 14px; line-height: 1.5; color: rgb(74, 83, 112); max-width: 80ch; text-wrap: pretty; padding: 0px 4px; }
.cs-politica-de-privacidad__b1 { height: 64px; background: rgb(217, 226, 238); display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; color: rgb(74, 83, 112); font-variant-numeric: tabular-nums; }
.cs-politica-de-privacidad__section1 { background: rgb(255, 255, 255); padding: 16px 48px 136px; }
.cs-politica-de-privacidad__aside1 { grid-column: 1 / span 3; position: sticky; top: 120px; }
.cs-politica-de-privacidad__b2 { font-family: var(--font-display); font-size: 18px; font-weight: 600; color: rgb(16, 24, 71); margin-bottom: 10px; }
.cs-politica-de-privacidad__a1 { display: flex; gap: 10px; align-items: baseline; min-height: 44px; padding: 10px 12px; border-radius: 10px; box-sizing: border-box; font-size: 15px; line-height: 1.4; text-decoration: none; color: rgb(20, 41, 122); background: rgb(243, 246, 250); font-weight: 600; }
.cs-politica-de-privacidad__s1 { font-variant-numeric: tabular-nums; color: rgb(27, 110, 158); font-weight: 600; flex: 0 0 auto; }
.cs-politica-de-privacidad__s2 { text-wrap: pretty; }
.cs-politica-de-privacidad__a2 { display: flex; gap: 10px; align-items: baseline; min-height: 44px; padding: 10px 12px; border-radius: 10px; box-sizing: border-box; font-size: 15px; line-height: 1.4; text-decoration: none; color: rgb(74, 83, 112); background: transparent; font-weight: 400; }
.cs-politica-de-privacidad__article1 { grid-column: 5 / span 8; max-width: 65ch; display: flex; flex-direction: column; }
.cs-politica-de-privacidad__section2 { scroll-margin-top: 112px; padding: 40px 0px; border-top: 0px; display: flex; flex-direction: column; gap: 20px; }
.cs-politica-de-privacidad__h21 { font-family: var(--font-display); font-size: 32px; font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; margin: 0px; text-wrap: balance; display: flex; gap: 14px; }
.cs-politica-de-privacidad__s3 { color: rgb(31, 128, 183); font-variant-numeric: tabular-nums; }
.cs-politica-de-privacidad__b3 { align-self: flex-start; border: 1.5px dashed rgb(31, 128, 183); border-radius: 10px; padding: 10px 14px; font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: 0.02em; color: rgb(27, 110, 158); }
.cs-politica-de-privacidad__section3 { scroll-margin-top: 112px; padding: 40px 0px; border-top: 1px solid rgb(217, 226, 238); display: flex; flex-direction: column; gap: 20px; }
.cs-politica-de-privacidad__p1 { margin: 0px; padding-top: 32px; border-top: 1px solid rgb(217, 226, 238); font-size: 14px; line-height: 1.5; color: rgb(74, 83, 112); display: flex; align-items: center; gap: 8px; font-variant-numeric: tabular-nums; }
.cs-blog-listado__nav1 { display: flex; flex-wrap: wrap; gap: 8px; font-size: 15px; color: rgb(185, 195, 220); }
.cs-blog-listado__h11 { font-family: var(--font-display); font-size: 64px; font-weight: 600; line-height: 1.05; letter-spacing: -0.03em; color: rgb(255, 255, 255); margin: 0px; }
.cs-listado__section1 { background: rgb(255, 255, 255); padding: 8px 48px 136px; }
.cs-listado__b1 { max-width: 1144px; margin: 0px auto; display: flex; flex-direction: column; gap: 96px; }
.cs-listado__article1 { display: flex; flex-direction: column; gap: 40px; transition: transform 200ms ease-out; }
.cs-listado__a1 { display: block; border-radius: 20px; box-shadow: var(--shadow-card); }
.cs-listado__h21 { grid-column: 1 / span 7; font-family: var(--font-display); font-size: 44px; font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; margin: 0px; text-wrap: balance; }
.cs-listado__a2 { color: rgb(16, 24, 71); text-decoration: none; }
.cs-listado__b2 { grid-column: 8 / span 5; display: flex; flex-direction: column; gap: 20px; padding-top: 6px; }
.cs-listado__b3 { border: 1.5px dashed rgb(185, 195, 220); border-radius: 10px; min-height: 56px; padding: 0px 16px; display: flex; align-items: center; box-sizing: border-box; font-size: 17px; line-height: 1.65; color: rgb(74, 83, 112); }
.cs-listado__b4 { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 72px 48px; padding-top: 72px; border-top: 1px solid rgb(217, 226, 238); }
.cs-listado__article2 { display: flex; flex-direction: column; gap: 24px; transition: transform 200ms ease-out; }
.cs-listado__a3 { display: block; border-radius: 20px; }
.cs-listado__h22 { font-family: var(--font-display); font-size: 28px; font-weight: 600; line-height: 1.2; letter-spacing: -0.01em; margin: 0px; text-wrap: balance; }
.cs-pie__footer3 { background: rgb(16, 24, 71); border-top: 0px; position: relative; overflow: hidden; color: rgb(185, 195, 220); }
.cs-blog-articulo__b1 { height: 64px; background: rgb(217, 226, 238); display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; color: rgb(74, 83, 112); }
.cs-blog-articulo__h11 { font-family: var(--font-display); font-size: 64px; font-weight: 600; line-height: 1.05; letter-spacing: -0.03em; color: rgb(255, 255, 255); margin: 0px; max-width: 20ch; text-wrap: balance; }
.cs-blog-articulo__b2 { display: flex; align-items: center; gap: 20px; font-size: 16px; color: rgb(185, 195, 220); font-variant-numeric: tabular-nums; }
.cs-blog-articulo__s1 { border: 1.5px dashed rgb(124, 196, 234); border-radius: 6px; padding: 2px 8px; font-weight: 600; color: rgb(124, 196, 234); }
.cs-articulo__section1 { background: rgb(255, 255, 255); padding: 8px 48px 120px; }
.cs-articulo__b1 { max-width: 1144px; margin: 0px auto; display: flex; flex-direction: column; align-items: center; gap: 72px; }
.cs-articulo__article1 { width: 100%; max-width: 65ch; display: flex; flex-direction: column; gap: 24px; }
.cs-articulo__s1 { align-self: flex-start; border: 1.5px dashed rgb(31, 128, 183); border-radius: 6px; padding: 2px 8px; font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: 0.02em; color: rgb(27, 110, 158); }
.cs-articulo__p1 { margin: 0px; font-size: 20px; line-height: 1.6; color: rgb(16, 24, 71); text-wrap: pretty; }
.cs-articulo__p2 { margin: 0px; font-size: 17px; line-height: 1.65; color: rgb(16, 24, 71); text-wrap: pretty; }
.cs-articulo__h21 { font-family: var(--font-display); font-weight: 600; color: rgb(16, 24, 71); margin: 0px; text-wrap: balance; font-size: 32px; line-height: 1.15; letter-spacing: -0.02em; padding-top: 24px; }
.cs-articulo__ul1 { list-style: none; margin: 0px; padding: 0px; display: grid; gap: 16px; }
.cs-articulo__li1 { display: flex; gap: 14px; align-items: center; }
.cs-articulo__b2 { padding-top: 0px; }
.cs-articulo__b3 { font-family: var(--font-body); font-size: 17px; font-weight: 400; line-height: 1.5; color: var(--cs-marino); }
.cs-articulo__figure1 { margin: 32px 0px; padding: 40px 0px; border-top: 1px solid rgb(217, 226, 238); border-bottom: 1px solid rgb(217, 226, 238); display: flex; flex-direction: column; gap: 20px; }
.cs-articulo__blockquote1 { margin: 0px; font-family: var(--font-display); font-size: 32px; font-weight: 500; line-height: 1.25; letter-spacing: -0.02em; color: rgb(16, 24, 71); text-wrap: balance; }
.cs-articulo__h22 { font-family: var(--font-display); font-weight: 600; color: rgb(16, 24, 71); margin: 0px; text-wrap: balance; font-size: 32px; line-height: 1.15; letter-spacing: -0.02em; }
.cs-servicio-relacionado__s1 { font-family: var(--font-display); font-size: 20px; font-weight: 600; line-height: 1.3; color: rgb(27, 110, 158); }
.cs-servicio-relacionado__h21 { font-family: var(--font-display); font-weight: 600; color: rgb(16, 24, 71); margin: 0px; text-wrap: balance; font-size: 44px; line-height: 1.1; letter-spacing: -0.02em; }
.cs-pie__footer4 { background: rgb(16, 24, 71); position: relative; overflow: hidden; color: rgb(185, 195, 220); }

@media (max-width: 1024px) {
	.cs-hero__b2 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-hero__b3 { grid-column: auto; }
	.cs-hero__h11 { font-size: 52px; }
	.cs-hero__b4 { flex-wrap: wrap; }
	.cs-hero__b6 { grid-column: auto; margin-bottom: 0; }
	.cs-hero__b7 { max-height: 480px; }
	.cs-hero__b9 { position: relative; left: auto; right: auto; top: auto; bottom: auto; margin: -56px 16px 0; }
	.cs-respaldo__a1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-servicios__b2 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-servicios__h21 { grid-column: auto; }
	.cs-servicios__p1 { grid-column: auto; }
	.cs-servicios__b3 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-servicios__article1 { grid-column: auto; }
	.cs-servicios__b4 { max-height: 480px; }
	.cs-servicios__b6 { grid-column: auto; }
	.cs-servicios__b7 { max-height: 480px; }
	.cs-sectores__article1 { grid-column: auto; }
	.cs-sectores__b2 { flex-wrap: wrap; }
	.cs-sectores__b3 { grid-column: auto; }
	.cs-sectores__article2 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-sectores__b4 { grid-column: auto; }
	.cs-sectores__b5 { max-height: 480px; }
	.cs-sectores__b6 { grid-column: auto; }
	.cs-como-trabajamos__ol1 { grid-template-columns: minmax(0, 1fr); }
	.cs-como-trabajamos__b2 { flex-wrap: wrap; }
	.cs-por-que-elegirnos__b1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-por-que-elegirnos__h21 { grid-column: auto; }
	.cs-por-que-elegirnos__b2 { grid-column: auto; grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-sostenibilidad__b1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-sostenibilidad__b2 { grid-column: auto; margin-top: 0; }
	.cs-sostenibilidad__b3 { grid-column: auto; }
	.cs-certificaciones__b1 { grid-column: auto; }
	.cs-certificaciones__b3 { grid-column: auto; }
	.cs-cierre__b3 { flex-direction: column; align-items: stretch; }
	.cs-pie__b3 { grid-template-columns: minmax(0, 1fr); }
	.cs-pie__b14 { flex-direction: column; align-items: stretch; }
	.cs-hero__b15 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-hero__b16 { grid-column: auto; }
	.cs-hero__b17 { grid-column: auto; margin-bottom: 0; }
	.cs-hero__b18 { max-height: 480px; }
	.cs-hero__b19 { margin-top: 0; }
	.cs-nuestra-empresa__h21 { grid-column: auto; }
	.cs-nuestra-empresa__p1 { grid-column: auto; }
	.cs-nuestra-empresa__a1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-mision-y-vision__b1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-nuestros-valores__ol1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-politicas__b2 { grid-template-columns: minmax(0, 1fr); }
	.cs-cabecera__h11 { font-size: 52px; }
	.cs-lineas-de-servicio__article1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-lineas-de-servicio__b1 { grid-area: auto; }
	.cs-lineas-de-servicio__b2 { grid-area: auto; }
	.cs-lineas-de-servicio__b4 { grid-area: auto; }
	.cs-lineas-de-servicio__b5 { grid-area: auto; }
	.cs-respaldo__b4 { grid-column: auto; flex-wrap: wrap; }
	.cs-respaldo__b6 { grid-column: auto; }
	.cs-hero__b20 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-hero__b21 { grid-column: auto; }
	.cs-hero__h12 { font-size: 50px; }
	.cs-hero__b22 { grid-column: auto; margin-bottom: 0; }
	.cs-hero__b23 { max-height: 480px; }
	.cs-que-incluye-el-servici__b1 { grid-column: auto; }
	.cs-que-incluye-el-servici__b2 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-que-incluye-el-servici__b5 { grid-area: auto; margin-bottom: 0; }
	.cs-modalidades-de-servici__b1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-lo-que-incluye-todo-co__b1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-lo-que-incluye-todo-co__h21 { grid-column: auto; }
	.cs-lo-que-incluye-todo-co__ul1 { grid-column: auto; grid-template-columns: minmax(0, 1fr); }
	.cs-complementa-con__a1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-complementa-con__b2 { max-height: 480px; }
	.cs-cierre__b4 { flex-wrap: wrap; flex-direction: column; align-items: stretch; }
	.cs-cierre__b5 { flex: 1 1 auto; }
	.cs-cierre__b7 { flex: 1 1 auto; }
	.cs-cierre__b9 { grid-template-columns: minmax(0, 1fr); }
	.cs-cierre__b11 { grid-column: auto; }
	.cs-hero__b24 { position: relative; left: auto; right: auto; top: auto; bottom: auto; margin: -56px 16px 0; }
	.cs-servicios-de-desinfecc__b1 { grid-template-columns: minmax(0, 1fr); }
	.cs-servicios-de-desinfecc__h21 { grid-column: auto; }
	.cs-servicios-de-desinfecc__article1 { grid-area: auto; }
	.cs-servicios-de-desinfecc__b2 { grid-area: auto; }
	.cs-servicios-de-desinfecc__b3 { max-height: 480px; }
	.cs-productos-seguros__b1 { grid-column: auto; }
	.cs-productos-seguros__b3 { grid-column: auto; }
	.cs-faq__b1 { grid-column: auto; }
	.cs-faq__button1 { flex-direction: column; align-items: stretch; }
	.cs-servicios-de-control-d__b1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-servicios-de-control-d__b3 { max-height: 480px; }
	.cs-constancia-de-servicio__b1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-constancia-de-servicio__b2 { grid-column: auto; }
	.cs-constancia-de-servicio__h21 { font-size: 48px; }
	.cs-constancia-de-servicio__li1 { flex-direction: column; align-items: stretch; }
	.cs-constancia-de-servicio__b3 { grid-column: auto; }
	.cs-constancia-de-servicio__b10 { grid-template-columns: minmax(0, 1fr); }
	.cs-constancia-de-servicio__b12 { grid-column: auto; }
	.cs-constancia-de-servicio__b13 { grid-column: auto; }
	.cs-ferroviario__b1 { grid-area: auto; }
	.cs-concesionarios-automot__b1 { grid-area: auto; }
	.cs-cabecera__h12 { font-size: 52px; }
	.cs-autorizacion-diresa__b1 { grid-column: auto; }
	.cs-autorizacion-diresa__b4 { grid-column: auto; }
	.cs-autorizacion-diresa__b5 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-autorizacion-diresa__s2 { flex-wrap: wrap; }
	.cs-personal__h21 { grid-column: auto; }
	.cs-personal__p1 { grid-column: auto; }
	.cs-personal__ul1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-personal__li1 { flex-wrap: wrap; }
	.cs-datos-legales__dl1 { grid-column: auto; }
	.cs-datos-legales__b1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-datos-legales__b2 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-como-comunicarse__b1 { grid-column: auto; }
	.cs-como-comunicarse__li1 { flex-wrap: wrap; }
	.cs-como-comunicarse__b3 { grid-column: auto; margin-top: 0; }
	.cs-donde-estamos__b1 { flex-direction: column; align-items: stretch; }
	.cs-donde-estamos__b2 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-donde-estamos__b3 { grid-column: auto; }
	.cs-donde-estamos__b5 { grid-column: auto; }
	.cs-cobertura__b1 { grid-column: auto; }
	.cs-hero__b27 { grid-column: auto; }
	.cs-productos-de-bajo-impa__p1 { grid-column: auto; }
	.cs-productos-de-bajo-impa__ul1 { grid-template-columns: minmax(0, 1fr); }
	.cs-manejo-de-residuos-sol__b1 { grid-column: auto; margin-top: 0; }
	.cs-manejo-de-residuos-sol__b2 { grid-column: auto; }
	.cs-uso-responsable__b1 { grid-column: auto; }
	.cs-uso-responsable__ul1 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
	.cs-libro-de-reclamaciones__b5 { flex-direction: column; align-items: stretch; }
	.cs-libro-de-reclamaciones__b6 { flex-direction: column; align-items: stretch; }
	.cs-libro-de-reclamaciones__b8 { flex-direction: column; align-items: stretch; }
	.cs-libro-de-reclamaciones__b9 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cs-libro-de-reclamaciones__b10 { grid-template-columns: minmax(0, 1fr); }
	.cs-libro-de-reclamaciones__label4 { flex-direction: column; align-items: stretch; }
	.cs-politica-de-privacidad__aside1 { grid-column: auto; position: static; }
	.cs-politica-de-privacidad__article1 { grid-column: auto; }
	.cs-politica-de-privacidad__h21 { flex-direction: column; align-items: stretch; }
	.cs-blog-listado__nav1 { flex-direction: column; align-items: stretch; }
	.cs-blog-listado__h11 { font-size: 52px; }
	.cs-listado__h21 { grid-column: auto; }
	.cs-listado__b2 { grid-column: auto; }
	.cs-listado__b4 { grid-template-columns: minmax(0, 1fr); }
	.cs-blog-articulo__h11 { font-size: 52px; }
	.cs-blog-articulo__b2 { flex-direction: column; align-items: stretch; }
	.cs-articulo__li1 { flex-direction: column; align-items: stretch; }
}

@media (max-width: 767px) {
	.cs-hero__b2 { padding: 40px 24px 0px 24px; }
	.cs-hero__b3 { padding: 0px 24px 72px 0px; }
	.cs-hero__h11 { font-size: 38px; }
	.cs-hero__a1 { padding: 8px 8px 8px 20px; width: 100%; justify-content: center; }
	.cs-hero__a2 { padding: 16px 20px 16px 20px; width: 100%; justify-content: center; }
	.cs-hero__b9 { width: auto; }
	.cs-respaldo__b1 { padding: 0px 24px 0px 24px; }
	.cs-respaldo__s1 { padding: 28px 20px 28px 20px; }
	.cs-respaldo__s3 { padding: 28px 20px 28px 20px; }
	.cs-servicios__section1 { padding: 58px 24px 82px 24px; }
	.cs-servicios__b1 { gap: 32px; }
	.cs-servicios__h21 { font-size: 30px; }
	.cs-servicios__b5 { padding-right: 24px; }
	.cs-servicios__h31 { font-size: 26px; }
	.cs-servicios__b6 { gap: 24px; }
	.cs-servicios__h32 { font-size: 21px; }
	.cs-sectores__section1 { padding: 72px 24px 40px 24px; }
	.cs-sectores__b3 { gap: 24px; }
	.cs-sectores__h31 { font-size: 21px; }
	.cs-sectores__a1 { padding: 8px 8px 8px 20px; white-space: normal; width: 100%; justify-content: center; }
	.cs-como-trabajamos__b1 { padding: 48px 24px 40px 24px; gap: 32px; }
	.cs-como-trabajamos__h21 { font-size: 30px; }
	.cs-como-trabajamos__s1 { font-size: 34px; }
	.cs-por-que-elegirnos__h21 { font-size: 30px; }
	.cs-por-que-elegirnos__b2 { column-gap: 32px; }
	.cs-sostenibilidad__section1 { padding: 72px 24px 82px 24px; }
	.cs-sostenibilidad__h21 { font-size: 30px; }
	.cs-certificaciones__section1 { padding: 72px 24px 48px 24px; }
	.cs-certificaciones__b2 { padding: 32px 20px 32px 20px; }
	.cs-certificaciones__h21 { font-size: 30px; }
	.cs-cierre__b1 { padding: 48px 24px 72px 24px; }
	.cs-cierre__h21 { font-size: 30px; }
	.cs-cierre__b3 { gap: 16px 32px; }
	.cs-cierre__a1 { font-size: 26px; }
	.cs-cierre__a2 { font-size: 26px; }
	.cs-cierre__a3 { padding: 8px 8px 8px 20px; width: 100%; justify-content: center; }
	.cs-pie__b2 { padding: 58px 24px 0px 24px; }
	.cs-pie__b3 { gap: 32px 32px; }
	.cs-pie__b13 { margin-top: 34px; }
	.cs-pie__a4 { width: 100%; justify-content: center; }
	.cs-pie__b14 { margin-top: 34px; }
	.cs-hero__b15 { padding: 40px 24px 0px 24px; }
	.cs-hero__b16 { padding-top: 40px; padding-bottom: 108px; }
	.cs-nuestra-empresa__section1 { padding: 40px 24px 82px 24px; }
	.cs-nuestra-empresa__b1 { gap: 32px; }
	.cs-nuestra-empresa__h21 { font-size: 30px; }
	.cs-nuestra-empresa__p1 { font-size: 20px; }
	.cs-mision-y-vision__h21 { font-size: 30px; }
	.cs-mision-y-vision__b1 { column-gap: 32px; }
	.cs-mision-y-vision__h31 { font-size: 26px; }
	.cs-mision-y-vision__p1 { font-size: 20px; }
	.cs-nuestros-valores__b1 { padding: 40px 24px 58px 24px; gap: 32px; }
	.cs-nuestros-valores__h21 { font-size: 30px; }
	.cs-nuestros-valores__s1 { font-size: 24px; }
	.cs-nuestros-valores__h31 { font-size: 21px; }
	.cs-politicas__section1 { padding: 40px 24px 82px 24px; }
	.cs-politicas__b1 { gap: 32px; }
	.cs-politicas__h21 { font-size: 30px; }
	.cs-politicas__h31 { font-size: 24px; }
	.cs-respaldo__section1 { padding: 72px 24px 40px 24px; }
	.cs-respaldo__b2 { width: 100%; height: auto; }
	.cs-respaldo__b3 { height: auto; }
	.cs-respaldo__s4 { font-size: 30px; }
	.cs-respaldo__p1 { font-size: 20px; }
	.cs-cabecera__b4 { padding: 40px 24px 24px 24px; }
	.cs-cabecera__h11 { font-size: 38px; }
	.cs-lineas-de-servicio__h31 { font-size: 26px; }
	.cs-respaldo__section2 { padding: 58px 24px 40px 24px; }
	.cs-respaldo__b4 { padding: 40px 24px 40px 24px; }
	.cs-respaldo__b5 { font-size: 22px; }
	.cs-hero__b20 { padding: 40px 24px 0px 24px; }
	.cs-hero__b21 { padding-bottom: 102px; }
	.cs-hero__h12 { font-size: 38px; }
	.cs-que-incluye-el-servici__b1 { gap: 32px; }
	.cs-que-incluye-el-servici__b3 { padding: 36px 24px 40px 0px; }
	.cs-que-incluye-el-servici__b4 { padding: 36px 0px 40px 24px; }
	.cs-modalidades-de-servici__b2 { padding: 8px 24px 8px 0px; }
	.cs-modalidades-de-servici__h31 { font-size: 22px; }
	.cs-modalidades-de-servici__b3 { padding: 8px 24px 8px 24px; }
	.cs-lo-que-incluye-todo-co__section1 { padding: 72px 24px 0px 24px; }
	.cs-lo-que-incluye-todo-co__b1 { padding: 40px 24px 40px 24px; }
	.cs-lo-que-incluye-todo-co__h21 { font-size: 30px; }
	.cs-complementa-con__section1 { padding: 72px 24px 40px 24px; }
	.cs-complementa-con__b1 { gap: 32px; }
	.cs-complementa-con__b3 { padding: 32px 20px 28px 20px; }
	.cs-cierre__b4 { gap: 32px; }
	.cs-cierre__a4 { font-size: 24px; }
	.cs-cierre__a5 { font-size: 24px; }
	.cs-cierre__form1 { padding: 40px 24px 40px 24px; }
	.cs-cierre__h31 { font-size: 22px; }
	.cs-cierre__select1 { padding: 0px 24px 0px 16px; }
	.cs-cierre__button1 { padding: 8px 8px 8px 20px; white-space: normal; width: 100%; justify-content: center; }
	.cs-hero__b24 { width: auto; }
	.cs-servicios-de-desinfecc__b1 { gap: 32px 24px; }
	.cs-servicios-de-desinfecc__h21 { font-size: 30px; }
	.cs-servicios-de-desinfecc__h31 { font-size: 26px; }
	.cs-servicios-de-desinfecc__b2 { padding-top: 72px; gap: 32px; }
	.cs-como-lo-hacemos__b1 { font-size: 20px; }
	.cs-productos-seguros__section1 { padding: 40px 24px 82px 24px; }
	.cs-faq__p1 { padding: 0px 24px 32px 0px; }
	.cs-servicios-de-control-d__h21 { font-size: 30px; }
	.cs-control-integrado__section1 { padding: 72px 24px 40px 24px; }
	.cs-control-integrado__b1 { padding: 40px 24px 40px 24px; }
	.cs-control-integrado__s1 { font-size: 34px; }
	.cs-constancia-de-servicio__b1 { padding: 40px 24px 62px 24px; }
	.cs-constancia-de-servicio__h21 { font-size: 38px; }
	.cs-constancia-de-servicio__b3 { gap: 24px; }
	.cs-constancia-de-servicio__b4 { width: 100%; }
	.cs-constancia-de-servicio__b6 { padding: 40px 24px 36px 24px; }
	.cs-constancia-de-servicio__b9 { font-size: 22px; }
	.cs-faq__section1 { padding: 40px 24px 40px 24px; }
	.cs-hoteleria__section1 { padding: 72px 24px 40px 24px; }
	.cs-cabecera__b6 { padding: 72px 24px 40px 24px; }
	.cs-cabecera__h12 { font-size: 38px; }
	.cs-cabecera__p2 { font-size: 20px; }
	.cs-autorizacion-diresa__b2 { padding: 28px 20px 28px 20px; }
	.cs-personal__h21 { font-size: 30px; }
	.cs-datos-legales__dl1 { padding: 16px 24px 16px 24px; }
	.cs-cierre__b12 { gap: 16px 24px; }
	.cs-cierre__a7 { font-size: 20px; }
	.cs-cabecera__b7 { padding: 72px 24px 40px 24px; }
	.cs-cabecera__p3 { font-size: 20px; }
	.cs-como-comunicarse__section1 { padding: 0px 24px 82px 24px; }
	.cs-como-comunicarse__b1 { gap: 24px; }
	.cs-como-comunicarse__a1 { font-size: 22px; }
	.cs-como-comunicarse__a2 { font-size: 22px; }
	.cs-como-comunicarse__select1 { padding: 0px 24px 0px 16px; }
	.cs-donde-estamos__a1 { padding: 16px 20px 16px 20px; width: 100%; justify-content: center; }
	.cs-cobertura__section1 { padding: 72px 24px 82px 24px; }
	.cs-hero__b27 { padding-top: 40px; padding-bottom: 120px; }
	.cs-productos-de-bajo-impa__li1 { padding: 28px 20px 28px 20px; }
	.cs-productos-de-bajo-impa__h31 { font-size: 20px; }
	.cs-manejo-de-residuos-sol__section1 { padding: 0px 24px 82px 24px; }
	.cs-uso-responsable__b1 { gap: 24px; }
	.cs-cierre__section3 { padding-top: 40px; }
	.cs-libro-de-reclamaciones__b3 { padding: 24px 20px 24px 20px; }
	.cs-libro-de-reclamaciones__b7 { padding: 16px 24px 48px 24px; }
	.cs-libro-de-reclamaciones__h21 { font-size: 20px; }
	.cs-libro-de-reclamaciones__b9 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cs-libro-de-reclamaciones__h22 { font-size: 20px; }
	.cs-politica-de-privacidad__section1 { padding: 16px 24px 82px 24px; }
	.cs-politica-de-privacidad__a1 { width: 100%; justify-content: center; }
	.cs-politica-de-privacidad__a2 { width: 100%; justify-content: center; }
	.cs-politica-de-privacidad__h21 { font-size: 26px; }
	.cs-blog-listado__h11 { font-size: 38px; }
	.cs-listado__section1 { padding: 8px 24px 82px 24px; }
	.cs-listado__b1 { gap: 32px; }
	.cs-listado__article1 { gap: 24px; }
	.cs-listado__h21 { font-size: 30px; }
	.cs-listado__b4 { gap: 32px 32px; padding-top: 40px; }
	.cs-listado__h22 { font-size: 24px; }
	.cs-blog-articulo__h11 { font-size: 38px; }
	.cs-articulo__section1 { padding: 8px 24px 72px 24px; }
	.cs-articulo__b1 { gap: 32px; }
	.cs-articulo__h21 { font-size: 26px; }
	.cs-articulo__blockquote1 { font-size: 26px; }
	.cs-articulo__h22 { font-size: 26px; }
	.cs-servicio-relacionado__h21 { font-size: 30px; }
}

/* ==========================================================================
   3. Componentes escritos a mano (estados que el diseño no serializa)
   ========================================================================== */

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

.cs-body img { max-width: 100%; }
.cs-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}
.cs-saltar {
	position: absolute;
	top: -100px; left: 16px;
	z-index: 1000;
	padding: 10px 16px;
	border-radius: var(--radius-button);
	background: var(--cs-marino);
	color: var(--cs-blanco);
	text-decoration: none;
}
.cs-saltar:focus { top: calc(var(--wp-admin--admin-bar--height, 0px) + 12px); color: var(--cs-blanco); }

/* --- Cabecera: barra de admin y estados --- */
.cs-header { top: var(--wp-admin--admin-bar--height, 0px); }
.cs-header .cs-cabecera__img1 { max-width: none; }
.cs-nav__link:hover { color: var(--cs-azul-real); }
.cs-header__tel:hover { background: var(--cs-marino); color: var(--cs-blanco); }
.cs-header__toggle { display: none; }

/* Submenú de Servicios (estilos tomados del estado hover del diseño) */
.cs-sub {
	position: absolute;
	top: 100%;
	left: -20px;
	z-index: 20;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 200ms var(--ease-out), transform 200ms var(--ease-out), visibility 200ms;
}
.cs-nav__item--sub:hover .cs-sub,
.cs-nav__item--sub:focus-within .cs-sub {
	opacity: 1;
	visibility: visible;
	transform: none;
}
.cs-sub__panel {
	display: grid;
	min-width: 248px;
	padding: 8px;
	border: 1px solid var(--cs-borde);
	border-radius: 14px;
	background: var(--cs-blanco);
	box-shadow: var(--shadow-card);
}
.cs-sub__link {
	padding: 12px 14px;
	border-radius: 10px;
	font-size: 16px;
	color: var(--cs-marino);
	text-decoration: none;
}
.cs-sub__link:hover { background: var(--cs-niebla); color: var(--cs-azul-real); }
.cs-sub__link[aria-current="page"] { background: var(--cs-niebla); color: var(--cs-azul-real); font-weight: 600; }
.cs-sub-toggle { display: none; }

/* --- Preguntas frecuentes --- */
.cs-faq__button1 .cs-faq__s3 { transition: transform 200ms var(--ease-out), background-color 200ms var(--ease-out); }
.cs-faq__button1[aria-expanded="true"] .cs-faq__s3 { background: var(--cs-hielo); transform: rotate(180deg); }
.cs-faq__p1[hidden] { display: none; }

/* --- Formularios --- */
.cs-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cs-body input:focus,
.cs-body select:focus,
.cs-body textarea:focus { border-color: var(--cs-celeste); box-shadow: 0 0 0 3px rgba(31, 128, 183, 0.18); }
.cs-libro-de-reclamaciones__label2:has(input:checked) { border-color: var(--cs-azul-real); background: var(--cs-hielo); }
.cs-aviso {
	margin-bottom: 20px;
	padding: 14px 18px;
	border-left: 4px solid var(--cs-celeste);
	border-radius: var(--radius-input);
	background: var(--cs-hielo);
	color: var(--cs-marino);
	font-weight: 600;
	line-height: 1.5;
}
.cs-aviso--error { border-left-color: var(--cs-marino); background: var(--cs-niebla); }

/* --- Marcos de imagen aún sin contenido (certificado DIRESA) --- */
.cs-marco-vacio { border: 0; background-color: var(--cs-marino-2); background-image: var(--photo-pattern); }
.cs-certificaciones__b2.cs-marco-vacio { padding: 0; }

/* Marco de foto del artículo: ancho completo aunque esté vacío */
.cs-articulo__b1 > .cs-servicios__b7 { width: 100%; }

/* --- Cliente PeruRail (texto o logo) --- */
.cs-cliente { font-family: var(--font-display); font-size: 18px; font-weight: 600; color: var(--cs-marino); }
.cs-cliente-logo { display: block; width: auto; max-width: 180px; max-height: 56px; }

/* --- Foto real (cuando se cargue desde SCF) --- */
.cs-foto__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ==========================================================================
   4. Responsive de componentes manuales
   ========================================================================== */
@media (max-width: 1024px) {
	.cs-cabecera__b1.cs-header__inner { padding: 0 24px; gap: 12px; }
	.cs-header__logo { margin-right: auto; }
	.cs-header__tel { order: 2; padding: 0 16px; min-height: 44px; }
	.cs-header__toggle {
		order: 3;
		display: block;
		position: relative;
		flex: 0 0 auto;
		width: 44px; height: 44px;
		padding: 0;
		border: 0;
		background: transparent;
		cursor: pointer;
	}
	.cs-header__toggle-barras,
	.cs-header__toggle-barras::before,
	.cs-header__toggle-barras::after {
		position: absolute;
		left: 10px;
		width: 24px; height: 2px;
		background: var(--cs-marino);
		transition: transform 200ms var(--ease-out), background-color 200ms var(--ease-out);
	}
	.cs-header__toggle-barras { top: 21px; }
	.cs-header__toggle-barras::before,
	.cs-header__toggle-barras::after { content: ""; left: 0; }
	.cs-header__toggle-barras::before { top: -7px; }
	.cs-header__toggle-barras::after { top: 7px; }
	.cs-menu-abierto .cs-header__toggle-barras { background: transparent; }
	.cs-menu-abierto .cs-header__toggle-barras::before { top: 0; transform: rotate(45deg); background: var(--cs-blanco); }
	.cs-menu-abierto .cs-header__toggle-barras::after { top: 0; transform: rotate(-45deg); background: var(--cs-blanco); }
	.cs-menu-abierto { overflow: hidden; }
	.cs-menu-abierto .cs-header { background: var(--cs-marino); border-bottom-color: var(--cs-marino-2); }
	.cs-menu-abierto .cs-header__tel { background: var(--cs-blanco); color: var(--cs-marino); }

	/* Panel a pantalla completa, marino */
	.cs-cabecera__nav1.cs-nav {
		position: fixed;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--nav-height));
		right: 0; bottom: 0; left: 0;
		z-index: 49;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		height: auto;
		margin: 0;
		padding: 16px 24px 40px;
		overflow-y: auto;
		background: var(--cs-marino);
		opacity: 0;
		visibility: hidden;
		transition: opacity 200ms var(--ease-out), visibility 200ms;
	}
	.cs-menu-abierto .cs-cabecera__nav1.cs-nav { opacity: 1; visibility: visible; }
	.cs-nav .cs-cabecera__b2 {
		flex-wrap: wrap;
		height: auto;
		border-bottom: 1px solid var(--line-on-dark);
	}
	.cs-nav .cs-cabecera__a2 {
		flex: 1;
		height: auto;
		min-height: 56px;
		font-family: var(--font-display);
		font-size: 22px;
		font-weight: 500;
		color: var(--cs-blanco);
	}
	.cs-nav .cs-cabecera__a2[aria-current="page"],
	.cs-nav .cs-nav__item--sub .cs-cabecera__a2:has(.cs-nav__marca) { color: var(--cs-celeste-claro); }
	.cs-nav .cs-nav__marca,
	.cs-nav .cs-nav__chevron { display: none; }
	.cs-sub-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px; height: 44px;
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--cs-blanco);
		cursor: pointer;
	}
	.cs-sub-toggle svg { transition: transform 200ms var(--ease-out); }
	.cs-sub-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
	.cs-sub {
		position: static;
		flex-basis: 100%;
		display: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		padding: 0 0 16px;
	}
	.cs-sub.cs-abierto { display: block; }
	.cs-sub__panel { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
	.cs-sub__link { padding: 12px 16px; font-size: 18px; color: var(--cs-bruma); }
	.cs-sub__link:hover,
	.cs-sub__link[aria-current="page"] { background: var(--cs-marino-2); color: var(--cs-blanco); }

	/* Inicio: franja de respaldo deja de flotar sobre el hero */
	.cs-hero__section1 { padding-bottom: 40px; }
	.cs-respaldo__b1 { position: relative; bottom: auto; transform: none; padding: 32px 24px 0; }
	.cs-respaldo__a1 { row-gap: 0; }
	.cs-respaldo__s1,
	.cs-respaldo__s3 { padding: 18px 20px; }
	.cs-respaldo__s3 { border-left: 0; border-top: 1px solid var(--cs-borde); }
	.cs-hero__b10 { width: auto; }

	/* Botones a ancho completo en contenedores que no se apilan solos */
	.cs-lineas-de-servicio__b3,
	.cs-cierre__b12 { flex-direction: column; align-items: stretch; align-self: stretch; width: 100%; }
	.cs-lineas-de-servicio__b3 > a,
	.cs-cierre__b12 > a,
	main .cs-cabecera__a3 { width: 100%; justify-content: center; white-space: normal; }

	/* Libro de Reclamaciones: campos en una columna */
	.cs-libro-de-reclamaciones__b9 { grid-template-columns: minmax(0, 1fr); }

	/* Migas de pan siempre en línea */
	main nav[aria-label="Ruta de navegación"] { flex-direction: row; flex-wrap: wrap; align-items: center; }

	/* Tarjetas en rejilla con bordes: una sola columna uniforme */
	.cs-que-incluye-el-servici__b2 { row-gap: 0; }
	.cs-que-incluye-el-servici__b3,
	.cs-que-incluye-el-servici__b4 { padding: 28px 0 32px; border-left: 0; }

	.cs-modalidades-de-servici__b1 { row-gap: 0; }
	.cs-modalidades-de-servici__b2,
	.cs-modalidades-de-servici__b3 { padding: 28px 0; border-left: 0; border-top: 1px solid var(--cs-borde); }
	.cs-modalidades-de-servici__b2 { border-top: 0; padding-top: 0; }

}

@media (max-width: 767px) {
	.cs-cabecera__b1.cs-header__inner { padding: 0 16px 0 20px; gap: 8px; }
	.cs-header .cs-cabecera__img1 { height: 48px; }
	.cs-header__tel { padding: 0 12px; font-size: 15px; }
	.cs-header__tel .cs-cabecera__s2 { gap: 8px; }
	.cs-nav .cs-cabecera__b2 { width: 100%; }

	/* Burbujas del hero dentro del ancho */
	.cs-hero__b1 { left: 0; right: 0; overflow: hidden; }
	.cs-hero__b1 > svg { width: 100%; height: auto; }

	/* Sin diagonales en móvil */
	.cs-diagonal { display: none !important; }
	/* Decorativos absolutos que sobresalen */
	.cs-decor-movil-oculto { display: none !important; }
}

@media (max-width: 359px) {
	.cs-header__tel-num { display: none; }
}

/* ==========================================================================
   v0.5.0 – Pie: contacto solo con dirección + botón; Libro de Reclamaciones abajo
   ========================================================================== */
.cs-pie__a7 { display: inline-flex; align-self: flex-start; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; margin-top: 8px; padding: 8px 8px 8px 24px; border-radius: var(--radius-button); font-family: var(--font-body); font-size: var(--fs-button); font-weight: 600; line-height: 1; letter-spacing: 0.01em; text-decoration: none; white-space: nowrap; box-sizing: border-box; background: transparent; color: var(--cs-blanco); border: 1.5px solid var(--cs-blanco); transition: background-color 200ms var(--ease-out), color 200ms var(--ease-out); }
.cs-pie__a7:hover, .cs-pie__a7:focus-visible { background: var(--cs-blanco); color: var(--cs-marino); }
.cs-pie__a7:hover .cs-hero__svg2 { transform: translateX(3px); }
.cs-pie__b15 { margin-top: 56px; padding: 28px 0 36px; border-top: 1px solid var(--line-on-dark); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 32px; }
.cs-pie__b15 .cs-pie__b14 { margin-top: 0; padding: 0; border-top: 0; flex: 1 1 480px; min-width: 0; }
.cs-pie__b15 .cs-pie__a4 { flex: 0 0 auto; }

/* ==========================================================================
   v0.5.0 – Nosotros: Política del Sistema Integrado de Gestión (SIG-DC-03)
   ========================================================================== */
.cs-politica-sig__section1 { background: var(--cs-blanco); padding: 120px 48px 136px; }
.cs-politica-sig__b1 { max-width: 1144px; margin: 0 auto; display: flex; flex-direction: column; gap: 56px; }
.cs-politica-sig__b2 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; row-gap: 32px; align-items: start; }
.cs-politica-sig__b3 { grid-column: 1 / span 5; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.cs-politica-sig__p1 { margin: 0; font-family: var(--font-display); font-size: 22px; font-weight: 500; line-height: 1.3; color: var(--cs-celeste-texto); }
.cs-politica-sig__b4 { grid-column: 7 / span 6; padding-top: 8px; }
.cs-politica-sig__b4 p { margin: 0 0 18px; font-size: 19px; line-height: 1.65; color: var(--cs-marino); text-wrap: pretty; }
.cs-politica-sig__b4 p:last-child { margin-bottom: 0; }
.cs-politica-sig__b4 strong, .cs-politica-sig__b6 strong { font-weight: 600; }
.cs-politica-sig__ol1 { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.cs-politica-sig__li1 { display: flex; align-items: flex-start; gap: 20px; background: var(--cs-niebla); border: 1px solid var(--cs-borde); border-radius: 14px; padding: 32px; box-sizing: border-box; min-width: 0; }
.cs-politica-sig__s2 { width: 48px; height: 48px; border-radius: 999px; background: var(--cs-blanco); border: 1px solid var(--cs-borde); display: grid; place-items: center; flex: 0 0 auto; font-family: var(--font-display); font-size: 22px; font-weight: 600; line-height: 1; color: var(--cs-azul-real); font-variant-numeric: tabular-nums; }
.cs-politica-sig__p2 { margin: 0; font-size: 17px; line-height: 1.65; color: var(--cs-pizarra); text-wrap: pretty; min-width: 0; }
.cs-politica-sig__p2 strong { color: var(--cs-marino); font-weight: 600; }
.cs-politica-sig__b5 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; row-gap: 32px; align-items: end; }
.cs-politica-sig__b6 { grid-column: 1 / span 8; background: var(--cs-hielo); border-left: 4px solid var(--cs-celeste); border-radius: 0 14px 14px 0; padding: 32px; box-sizing: border-box; }
.cs-politica-sig__b6 p { margin: 0; font-size: 17px; line-height: 1.65; color: var(--cs-marino); text-wrap: pretty; }
.cs-politica-sig__b7 { grid-column: 9 / span 4; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.cs-politica-sig__s3 { font-size: 15px; line-height: 1.5; color: var(--cs-pizarra); margin-bottom: 14px; }
.cs-politica-sig__s4 { font-family: var(--font-display); font-size: 19px; font-weight: 600; line-height: 1.3; color: var(--cs-marino); padding-top: 14px; border-top: 1px solid var(--cs-borde); }
.cs-politica-sig__s5 { font-size: 15px; line-height: 1.5; color: var(--cs-pizarra); }
.cs-politica-sig__a1 { margin-top: 20px; }

@media (max-width: 1024px) {
	.cs-politica-sig__b3, .cs-politica-sig__b4, .cs-politica-sig__b6, .cs-politica-sig__b7 { grid-column: 1 / -1; }
	.cs-politica-sig__b4 { padding-top: 0; }
}
@media (max-width: 767px) {
	.cs-pie__b15 { margin-top: 34px; flex-direction: column; align-items: stretch; }
	.cs-pie__b15 .cs-pie__b14 { flex: 0 0 auto; }
	.cs-pie__a7 { align-self: stretch; justify-content: center; }
	.cs-politica-sig__section1 { padding: 72px 24px 84px; }
	.cs-politica-sig__b1 { gap: 40px; }
	.cs-politica-sig__b4 p { font-size: 17px; }
	.cs-politica-sig__p1 { font-size: 19px; }
	.cs-politica-sig__ol1 { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.cs-politica-sig__li1 { flex-direction: column; gap: 16px; padding: 24px 20px; }
	.cs-politica-sig__s2 { width: 44px; height: 44px; font-size: 20px; }
	.cs-politica-sig__p2 { font-size: 16px; }
	.cs-politica-sig__b6 { padding: 24px 20px; }
	.cs-politica-sig__b6 p { font-size: 16px; }
}

/* --- Contacto: mapa incrustado --- */
.cs-mapa { padding: 8px; overflow: hidden; }
.cs-mapa__iframe { display: block; width: 100%; min-height: 460px; flex: 1 1 auto; border: 0; border-radius: 14px; background: var(--cs-hielo); }
@media (max-width: 767px) { .cs-mapa__iframe { min-height: 320px; } }

/* ==========================================================================
   v0.6.0 – MOVIMIENTO
   Curvas con masa (sin linear / ease-in-out). Solo transform y opacity.
   ========================================================================== */
:root {
	--ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
	--ease-press: cubic-bezier(0.32, 0.72, 0, 1);
	--shadow-tinted: 0 22px 44px -22px rgba(16, 24, 71, 0.38);
	--shadow-tinted-sm: 0 12px 28px -16px rgba(20, 41, 122, 0.45);
}
html { scroll-behavior: smooth; }

/* 1. Entradas al hacer scroll (solo con JS: sin JS todo se ve completo) */
.cs-js [data-cs-reveal] {
	opacity: 0;
	transform: translate3d(0, 24px, 0);
	transition: opacity 700ms var(--ease-spring), transform 850ms var(--ease-spring);
	transition-delay: var(--cs-d, 0ms);
}
.cs-js [data-cs-reveal="media"] { transform: translate3d(0, 28px, 0) scale(0.97); transition-duration: 850ms, 1000ms; }
.cs-js .cs-reveal--hero { transform: translate3d(0, 22px, 0); }
.cs-js [data-cs-reveal].cs-in { opacity: 1; transform: none; }

/* 2. Burbujas del logo: flotan despacio (decorativas) */
.cs-hero__svg1 > g, .cs-hero__svg4 > g, .cs-pie__svg1 > g, .cs-cabecera__svg1 > g {
	transform-box: fill-box; transform-origin: center;
	animation: cs-flotar 7s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite alternate;
}
.cs-hero__svg1 > g:nth-child(2), .cs-hero__svg4 > g:nth-child(2), .cs-pie__svg1 > g:nth-child(2), .cs-cabecera__svg1 > g:nth-child(2) { animation-delay: -1.2s; animation-duration: 8s; }
.cs-hero__svg1 > g:nth-child(3), .cs-hero__svg4 > g:nth-child(3), .cs-pie__svg1 > g:nth-child(3), .cs-cabecera__svg1 > g:nth-child(3) { animation-delay: -2.6s; animation-duration: 9s; }
.cs-hero__svg1 > g:nth-child(4), .cs-hero__svg4 > g:nth-child(4), .cs-pie__svg1 > g:nth-child(4), .cs-cabecera__svg1 > g:nth-child(4) { animation-delay: -3.4s; animation-duration: 7.5s; }
.cs-hero__svg1 > g:nth-child(5), .cs-hero__svg4 > g:nth-child(5), .cs-pie__svg1 > g:nth-child(5), .cs-cabecera__svg1 > g:nth-child(5) { animation-delay: -4.8s; animation-duration: 10s; }
.cs-hero__svg1 > g:nth-child(6), .cs-hero__svg4 > g:nth-child(6), .cs-pie__svg1 > g:nth-child(6), .cs-cabecera__svg1 > g:nth-child(6) { animation-delay: -5.5s; animation-duration: 8.5s; }
@keyframes cs-flotar {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(0, -9px, 0); }
}

/* 3. Botones: elevación, presión física y flecha con tensión interna */
.cs-hero__a1, .cs-hero__a2, .cs-cierre__a3, .cs-sectores__a1, .cs-cierre__button1,
.cs-donde-estamos__a1, .cs-pie__a7, .cs-pie__a4, .cs-cabecera__a3 {
	transition: background-color 260ms var(--ease-press), color 260ms var(--ease-press), border-color 260ms var(--ease-press), transform 420ms var(--ease-spring), box-shadow 420ms var(--ease-spring);
}
.cs-hero__a1:hover, .cs-cierre__button1:hover { background: var(--cs-marino); transform: translateY(-2px); box-shadow: var(--shadow-tinted-sm); }
.cs-hero__a2:hover, .cs-cierre__a3:hover { background: rgba(255, 255, 255, 0.1); transform: translateY(-2px); }
.cs-sectores__a1:hover, .cs-donde-estamos__a1:hover { background: var(--cs-hielo); transform: translateY(-2px); }
.cs-pie__a4:hover { background: var(--cs-azul-real); border-color: rgba(124, 196, 234, 0.45); transform: translateY(-2px); }
.cs-pie__a7:hover { transform: translateY(-2px); }
.cs-hero__a1:active, .cs-hero__a2:active, .cs-cierre__a3:active, .cs-sectores__a1:active, .cs-cierre__button1:active,
.cs-donde-estamos__a1:active, .cs-pie__a7:active, .cs-pie__a4:active, .cs-cabecera__a3:active { transform: translateY(0) scale(0.98); transition-duration: 120ms; }
.cs-hero__s2, .cs-sectores__s3 { transition: transform 420ms var(--ease-spring); }
.cs-hero__svg2 { transition: transform 420ms var(--ease-spring); }
a:hover > .cs-hero__s2, a:hover > .cs-sectores__s3, button:hover > .cs-hero__s2 { transform: scale(1.06); }
a:hover .cs-hero__svg2, button:hover .cs-hero__svg2 { transform: translateX(3px); }
.cs-hero__a3:hover .cs-hero__svg2 { transform: translateX(4px); }

/* 4. Tarjetas y fotos: elevación suave con sombra teñida de marino */
.cs-politica-sig__li1, .cs-productos-de-bajo-impa__li1, .cs-lo-que-incluye-todo-co__b1, .cs-pie__b6, .cs-respaldo__a1 {
	transition: transform 520ms var(--ease-spring), box-shadow 520ms var(--ease-spring), background-color 300ms var(--ease-press);
}
.cs-politica-sig__li1:hover, .cs-productos-de-bajo-impa__li1:hover { transform: translateY(-4px); box-shadow: var(--shadow-tinted); background: var(--cs-blanco); }
.cs-politica-sig__li1:hover .cs-politica-sig__s2 { transform: scale(1.08); background: var(--cs-azul-real); color: var(--cs-blanco); border-color: var(--cs-azul-real); }
.cs-politica-sig__s2 { transition: transform 420ms var(--ease-spring), background-color 300ms var(--ease-press), color 300ms var(--ease-press); }
.cs-respaldo__a1:hover { transform: translateY(-3px); }
.cs-foto { overflow: hidden; }
.cs-foto__img { transition: transform 1200ms var(--ease-spring); }
article:hover .cs-foto__img, a:hover .cs-foto__img { transform: scale(1.045); }
.cs-nuestros-valores__s1 { transition: transform 520ms var(--ease-spring); }
.cs-nuestros-valores__li1:hover .cs-nuestros-valores__s1 { transform: translateY(-4px) scale(1.06); }

/* 5. Navegación: subrayado que crece y cabecera con sombra al desplazarse */
.cs-cabecera__header1 { transition: box-shadow 400ms var(--ease-spring), border-color 400ms var(--ease-spring); }
.cs-cabecera__header1.cs-scrolled { box-shadow: 0 14px 34px -24px rgba(16, 24, 71, 0.45); border-bottom-color: transparent; }
.cs-centinela { position: absolute; top: 0; left: 0; width: 1px; height: 8px; pointer-events: none; }
.cs-header__tel { transition: background-color 260ms var(--ease-press), color 260ms var(--ease-press), transform 420ms var(--ease-spring); }
.cs-header__tel:hover { transform: translateY(-1px); }

/* Foco visible coherente */
.cs-hero__a1:focus-visible, .cs-hero__a2:focus-visible, .cs-cierre__a3:focus-visible, .cs-sectores__a1:focus-visible,
.cs-cierre__button1:focus-visible, .cs-pie__a7:focus-visible, .cs-pie__a4:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }

/* Accesibilidad: sin movimiento si el usuario lo pide */
@media (prefers-reduced-motion: reduce) {
	.cs-js [data-cs-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
	.cs-hero__svg1 > g, .cs-hero__svg4 > g, .cs-pie__svg1 > g, .cs-cabecera__svg1 > g { animation: none !important; }
	html { scroll-behavior: auto; }
}

/* ==========================================================================
   v0.7.0 – Enlaces legibles sobre fondo oscuro + separador del pie + acabado premium
   ========================================================================== */

/* 1. Hover de enlaces: sobre marino nunca azul oscuro (antes se perdía) */
.cs-pie__footer1 a:hover, .cs-pie__footer2 a:hover,
.cs-pie__a1:hover, .cs-pie__a6:hover, .cs-pie__a5:hover, .cs-pie__a4:hover, .cs-pie__a7:hover,
.cs-hero__a4:hover, .cs-hero__a1:hover, .cs-hero__a2:hover, .cs-cierre__a3:hover,
.cs-cierre__button1:hover, .cs-cabecera__a3:hover { color: var(--cs-blanco); }
.cs-pie__b6 a:hover, .cs-pie__b6 .cs-hero__a3:hover { color: var(--cs-azul-real); }
.cs-hero__a4:hover { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--cs-celeste-claro); }

/* Enlaces del pie: se desplazan y aparece una marca celeste */
.cs-pie__a1, .cs-pie__a6 { position: relative; transition: color 260ms var(--ease-press), transform 420ms var(--ease-spring); }
.cs-pie__a1::before, .cs-pie__a6::before {
	content: ""; position: absolute; left: -14px; top: 50%; width: 6px; height: 6px; border-radius: 999px;
	background: var(--cs-celeste-claro); opacity: 0; transform: translateY(-50%) scale(0.4);
	transition: opacity 260ms var(--ease-press), transform 420ms var(--ease-spring);
}
.cs-pie__a1:hover, .cs-pie__a6:hover { transform: translateX(6px); }
.cs-pie__a1:hover::before, .cs-pie__a6:hover::before { opacity: 1; transform: translateY(-50%) scale(1); }
.cs-pie__a5 { transition: color 260ms var(--ease-press); }
.cs-pie__a2, .cs-pie__a3 { transition: color 260ms var(--ease-press); }

/* 2. Separador sutil solo cuando la sección final también es marino (pie con borde) */
.cs-pie__footer1::before {
	content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
	width: min(1144px, calc(100% - 96px)); height: 1px; pointer-events: none;
	background: linear-gradient(90deg, rgba(124, 196, 234, 0) 0%, rgba(124, 196, 234, 0.42) 22%, rgba(185, 195, 220, 0.3) 50%, rgba(124, 196, 234, 0.42) 78%, rgba(124, 196, 234, 0) 100%);
}
@media (max-width: 767px) { .cs-pie__footer1::before { width: calc(100% - 48px); } }

/* 3. Luz ambiental en las secciones marino (profundidad, sin cambiar colores) */
.cs-cierre__b1 { background-image: radial-gradient(45% 55% at 50% 48%, rgba(31, 128, 183, 0.15) 0%, rgba(31, 128, 183, 0) 72%); }
.cs-hero__section1, .cs-hero__section2 { background-image: radial-gradient(45% 60% at 85% 10%, rgba(31, 128, 183, 0.18) 0%, rgba(31, 128, 183, 0) 70%), radial-gradient(35% 50% at 0% 100%, rgba(124, 196, 234, 0.07) 0%, rgba(124, 196, 234, 0) 70%); }
.cs-como-trabajamos__section1, .cs-nuestros-valores__section1 { background-image: radial-gradient(45% 40% at 100% 55%, rgba(31, 128, 183, 0.13) 0%, rgba(31, 128, 183, 0) 70%); }
.cs-pie__footer1, .cs-pie__footer2 { background-image: radial-gradient(35% 45% at 92% 45%, rgba(31, 128, 183, 0.12) 0%, rgba(31, 128, 183, 0) 70%); }

/* 4. Menú: subrayado celeste que crece al pasar el mouse (escritorio) */
@media (min-width: 1025px) {
	.cs-cabecera__a2::after {
		content: ""; position: absolute; left: 0; right: 0; bottom: 4px; height: 2px; border-radius: 2px;
		background: var(--cs-celeste); transform: scaleX(0); transform-origin: 100% 50%;
		transition: transform 480ms var(--ease-spring);
	}
	.cs-cabecera__a2:hover::after { transform: scaleX(1); transform-origin: 0 50%; }
	.cs-cabecera__a2:has(.cs-nav__marca)::after { display: none; }
}

/* 5. Barra de progreso de lectura bajo la cabecera (navegadores que lo soportan) */
@supports (animation-timeline: scroll()) {
	.cs-cabecera__header1::after {
		content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; pointer-events: none;
		background: linear-gradient(90deg, var(--cs-celeste) 0%, var(--cs-celeste-claro) 100%);
		transform-origin: 0 50%; transform: scaleX(0);
		animation: cs-progreso linear both; animation-timeline: scroll(root);
	}
	@keyframes cs-progreso { to { transform: scaleX(1); } }
}

/* 6. Botón principal: destello que recorre el botón al pasar el mouse */
.cs-hero__a1, .cs-cierre__button1 { position: relative; overflow: hidden; isolation: isolate; }
.cs-hero__a1::after, .cs-cierre__button1::after {
	content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 60%; z-index: -1; pointer-events: none;
	background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.16) 50%, rgba(255, 255, 255, 0) 100%);
	transform: translateX(-130%) skewX(-12deg);
}
.cs-hero__a1:hover::after, .cs-cierre__button1:hover::after { transform: translateX(230%) skewX(-12deg); transition: transform 900ms var(--ease-spring); }

/* 7. Título del héroe: palabras que emergen desde una máscara */
.cs-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.1em; margin-bottom: -0.1em; }
.cs-w__i { display: inline-block; transform: translate3d(0, 108%, 0); transition: transform 850ms var(--ease-spring); transition-delay: var(--cs-d, 0ms); }
.cs-h-in .cs-w__i { transform: none; }

/* 8. Cifras que cuentan al aparecer */
.cs-cuenta { font-variant-numeric: tabular-nums; }

/* 9. Tarjetas oscuras de valores: brillo suave del número */
.cs-nuestros-valores__li1:hover .cs-nuestros-valores__s1 { box-shadow: 0 0 0 6px rgba(124, 196, 234, 0.14); }

@media (prefers-reduced-motion: reduce) {
	.cs-w__i { transform: none !important; transition: none !important; }
	.cs-cabecera__header1::after { display: none; }
	.cs-pie__a1:hover, .cs-pie__a6:hover { transform: none; }
}
.cs-pie__footer1 .cs-pie__a7:hover, .cs-pie__footer2 .cs-pie__a7:hover, .cs-pie__a7:focus-visible { color: var(--cs-marino); }


/* ==========================================================================
   Servicios: Sistema Integrado de Gestión (documento ampliable)
   ========================================================================== */
.cs-sig { background: var(--cs-blanco); padding: 0 48px 128px; }
.cs-sig__inner {
	max-width: 1144px;
	margin: 0 auto;
	padding-top: 88px;
	border-top: 1px solid var(--cs-borde);
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 72px;
	align-items: center;
}
.cs-sig__texto { display: flex; flex-direction: column; gap: 24px; }
.cs-sig__ceja {
	margin: 0;
	font-family: var(--font-display);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--cs-celeste-texto);
}
.cs-sig__normas { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.cs-sig__norma {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 14px 18px;
	border: 1px solid var(--cs-borde);
	border-radius: 12px;
	background: var(--cs-niebla);
}
.cs-sig__norma-codigo { font-family: var(--font-display); font-size: 18px; font-weight: 600; color: var(--cs-marino); }
.cs-sig__norma-tema { font-size: 15px; color: var(--cs-pizarra); }
.cs-sig__alcance { padding: 20px 24px; border-left: 3px solid var(--cs-celeste); border-radius: 0 12px 12px 0; background: var(--cs-hielo); }
.cs-sig__alcance-titulo { margin: 0 0 6px; font-family: var(--font-display); font-size: 15px; font-weight: 600; color: var(--cs-azul-real); }
.cs-sig__alcance-texto { margin: 0; max-width: none; font-size: 17px; line-height: 1.55; color: var(--cs-marino); }
.cs-sig__meta { margin: 0; font-size: 14px; color: var(--cs-pizarra); }

.cs-sig__doc-col { display: flex; justify-content: center; }
.cs-sig__doc {
	position: relative;
	display: block;
	width: 100%;
	max-width: 360px;
	border: 1px solid var(--cs-borde);
	border-radius: 14px;
	overflow: hidden;
	background: var(--cs-blanco);
	box-shadow: var(--shadow-card);
	transform: rotate(-1.5deg);
	transition: transform 300ms var(--ease-out), box-shadow 300ms var(--ease-out);
	text-decoration: none;
	cursor: zoom-in;
}
.cs-sig__doc:hover,
.cs-sig__doc:focus-visible { transform: rotate(0deg) translateY(-6px); box-shadow: 0 24px 60px rgba(16, 24, 71, 0.18); }
.cs-sig__doc-img { display: block; width: 100%; height: auto; }
.cs-sig__doc-accion {
	position: absolute;
	left: 50%;
	bottom: 18px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: var(--radius-button);
	background: var(--cs-marino);
	color: var(--cs-blanco);
	font-family: var(--font-display);
	font-size: 15px;
	font-weight: 500;
	white-space: nowrap;
	transform: translateX(-50%);
	box-shadow: 0 8px 24px rgba(16, 24, 71, 0.25);
}

/* Visor a pantalla completa */
.cs-visor {
	width: min(920px, calc(100vw - 32px));
	max-width: none;
	max-height: calc(100vh - 32px);
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: 16px;
	background: var(--cs-blanco);
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
	overflow: hidden;
}
.cs-visor[open] { display: flex; flex-direction: column; }
.cs-visor::backdrop { background: rgba(16, 24, 71, 0.82); }
.cs-visor__barra {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 12px 12px 20px;
	border-bottom: 1px solid var(--cs-borde);
}
.cs-visor__titulo { margin: 0; font-family: var(--font-display); font-size: 16px; font-weight: 600; color: var(--cs-marino); }
.cs-visor__cerrar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 44px; height: 44px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: var(--cs-niebla);
	color: var(--cs-marino);
	cursor: pointer;
}
.cs-visor__cerrar:hover { background: var(--cs-hielo); }
.cs-visor__cuerpo { overflow: auto; background: var(--cs-niebla); padding: 16px; }
.cs-visor__img { display: block; width: 100%; max-width: 792px; height: auto; margin: 0 auto; box-shadow: var(--shadow-card); }
body.cs-visor-abierto { overflow: hidden; }

@media (max-width: 1024px) {
	.cs-sig__inner { grid-template-columns: minmax(0, 1fr); gap: 48px; }
}
@media (max-width: 767px) {
	.cs-sig { padding: 0 20px 80px; }
	.cs-sig__inner { padding-top: 56px; gap: 40px; }
	.cs-sig__norma { flex: 1 1 100%; }
	.cs-sig__doc { max-width: 300px; transform: none; }
	.cs-visor { width: calc(100vw - 16px); max-height: calc(100vh - 16px); border-radius: 12px; }
	.cs-visor__titulo { font-size: 14px; }
	.cs-visor__cuerpo { padding: 8px; }
}
@media (prefers-reduced-motion: reduce) {
	.cs-sig__doc { transform: none; transition: none; }
}
