/* ==========================================================================
   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; }
.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); border-top: 1px solid rgba(185, 195, 220, 0.25); }
.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); border-top: 1px solid rgba(185, 195, 220, 0.25); 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; }
}
