/* ============================================================
   GAMO SOLAR — Sistema de diseño "gs-sc"  ·  CANÓNICO
   Fase 0 del rediseño integral · 2026-05-16
   ------------------------------------------------------------
   Fuente única de verdad. Unifica el CSS que estaba duplicado
   (y roto por wpautop) en el post_content de las páginas
   249, 273 y 1813. Servir SIEMPRE desde <head> — nunca dentro
   de post_content (wpautop inserta <p> en las líneas en blanco
   e invalida la primera regla tras cada comentario).
   ============================================================ */

/* ---------- TOKENS ---------- */
.gs-sc{
  /* Marca */
  --gs-blue:#003D7A;
  --gs-blue-d:#00264D;
  --gs-blue-l:#0A56A8;
  --gs-yellow:#FFC107;
  --gs-yellow-d:#F0A800;
  --gs-yellow-l:#FFD54F;
  /* Superficie y neutros */
  --gs-bg:#FAFAF7;
  --gs-surface:#FFFFFF;
  --gs-text:#0F172A;
  --gs-text-soft:#475569;
  --gs-border:#E2E8F0;
  --gs-border-strong:#CBD5E1;
  /* Acento externo (WhatsApp) */
  --gs-wa:#047857;
  --gs-wa-d:#065F46;
  /* Radios */
  --gs-radius-sm:10px;
  --gs-radius:14px;
  --gs-radius-lg:22px;
  --gs-radius-pill:999px;
  /* Sombras · escala calibrada y azulada (cohesión de marca) */
  --gs-shadow-sm:0 1px 2px rgba(0,38,77,.05), 0 4px 12px -4px rgba(0,38,77,.10);
  --gs-shadow-md:0 4px 10px -2px rgba(0,38,77,.10), 0 14px 30px -10px rgba(0,38,77,.16);
  --gs-shadow-lg:0 14px 28px -10px rgba(0,38,77,.16), 0 30px 60px -20px rgba(0,38,77,.26);
}

/* ---------- BASE ---------- */
.gs-sc,.gs-sc *,.gs-sc *::before,.gs-sc *::after{ box-sizing:border-box; }
.gs-sc{
  font-family:"Inter",-apple-system,system-ui,sans-serif;
  color:var(--gs-text);
  line-height:1.6;
  background:var(--gs-bg);
  margin-top:-2rem;
}
.gs-sc h1,.gs-sc h2,.gs-sc h3,.gs-sc h4{
  font-family:"Plus Jakarta Sans",-apple-system,sans-serif;
  letter-spacing:-.025em;
  line-height:1.15;
  margin:0;
}
.gs-sc .gs-wrap{ max-width:1200px; margin:0 auto; padding:0 1.5rem; position:relative; }

/* ---------- HERO ---------- */
.gs-sc .gs-hero{
  position:relative;
  background:
    radial-gradient(120% 60% at 100% 0%, rgba(255,193,7,.22) 0%, rgba(255,193,7,0) 55%),
    linear-gradient(160deg, var(--gs-blue-d) 0%, var(--gs-blue) 60%, var(--gs-blue-l) 100%);
  color:#fff;
  padding:6rem 1.5rem 7rem;
  overflow:hidden;
}
.gs-sc .gs-hero::before{
  content:""; position:absolute; inset:0;
  background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.07) 1px, transparent 0);
  background-size:32px 32px;
  mask-image:radial-gradient(ellipse at 30% 30%, #000 30%, transparent 75%);
}
.gs-sc .gs-hero-logo{
  display:none; /* redundante: el header global ya muestra el logo */
}
.gs-sc .gs-hero-logo img{ height:42px; width:auto; display:block; }
.gs-sc .gs-gamo-art{
  position:absolute; right:clamp(1rem,3vw,3rem); top:50%; transform:translateY(-50%);
  width:min(330px,40%); opacity:.16; pointer-events:none; z-index:1;
}
.gs-sc .gs-gamo-art img{ width:100%; height:auto; display:block; }
.gs-sc .gs-seal-hero{
  position:absolute; top:2.5rem; right:5%; width:90px; height:auto; z-index:4;
  filter:drop-shadow(0 8px 20px rgba(255,193,7,.3));
  animation:gs-float 4s ease-in-out infinite;
}
.gs-sc .gs-seal-hero img{ width:100%; height:auto; display:block; }
@keyframes gs-float{
  0%,100%{ transform:translateY(0) rotate(-6deg); }
  50%{ transform:translateY(-8px) rotate(-3deg); }
}
.gs-sc .gs-hero-inner{ position:relative; z-index:3; max-width:760px; padding-top:3.5rem; }
.gs-sc .gs-hero h1{
  font-size:clamp(2.25rem,5.5vw,3.75rem); font-weight:800;
  margin-bottom:1.25rem; color:#fff;
}
.gs-sc .gs-hero h1 .gs-accent{
  display:block;
  background:linear-gradient(120deg, var(--gs-yellow) 0%, var(--gs-yellow-l) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.gs-sc .gs-hero p.gs-lead{
  font-size:clamp(1.05rem,1.6vw,1.2rem); max-width:640px;
  margin:0 0 2.5rem; color:rgba(255,255,255,.85);
}

/* ---------- EYEBROW (etiqueta superior) ---------- */
.gs-sc .gs-eyebrow{
  display:inline-flex; align-items:center; gap:.55rem;
  background:rgba(255,193,7,.14); border:1px solid rgba(255,193,7,.35);
  color:var(--gs-yellow); padding:.45rem 1rem; border-radius:var(--gs-radius-pill);
  font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  margin-bottom:1.5rem; backdrop-filter:blur(8px);
}
.gs-sc .gs-eyebrow::before{
  content:""; width:6px; height:6px; background:var(--gs-yellow);
  border-radius:50%; box-shadow:0 0 12px var(--gs-yellow);
}

/* ---------- CTA (botones) ---------- */
.gs-sc .gs-cta-row{ display:flex; flex-wrap:wrap; gap:.85rem; align-items:center; }
.gs-sc .gs-cta{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:1rem 1.75rem; border-radius:var(--gs-radius-sm);
  font-weight:700; text-decoration:none; font-size:.98rem; font-family:inherit;
  border:0; cursor:pointer;
  transition:transform .2s cubic-bezier(.2,.7,.3,1.4), box-shadow .2s, background .2s;
}
.gs-sc .gs-cta svg{ width:18px; height:18px; }
.gs-sc .gs-cta-primary{
  background:linear-gradient(135deg, var(--gs-yellow) 0%, var(--gs-yellow-l) 100%);
  color:var(--gs-blue); box-shadow:0 8px 24px rgba(255,193,7,.35);
}
.gs-sc .gs-cta-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 32px rgba(255,193,7,.45); }
.gs-sc .gs-cta-whatsapp{
  background:var(--gs-wa); color:#fff; box-shadow:0 8px 24px rgba(4,120,87,.3);
}
.gs-sc .gs-cta-whatsapp:hover{ transform:translateY(-2px); background:var(--gs-wa-d); box-shadow:0 14px 32px rgba(4,120,87,.45); }
/* CTA secundario del hero fotográfico: ghost/outline en marca (no compite con el amarillo).
   El verde de WhatsApp se reserva para el resto de sitios (CTA del blog, sticky móvil). */
.gs-sc .gs-hero-photo .gs-cta-row .gs-cta-whatsapp,
.gs-sc .gs-hero .gs-cta-row .gs-cta-whatsapp{
  background:transparent; color:#fff; border:2px solid rgba(255,255,255,.7);
  box-shadow:none; backdrop-filter:blur(2px);
}
.gs-sc .gs-hero-photo .gs-cta-row .gs-cta-whatsapp:hover,
.gs-sc .gs-hero .gs-cta-row .gs-cta-whatsapp:hover{
  background:#fff; color:var(--gs-blue); border-color:#fff; box-shadow:0 12px 28px rgba(0,0,0,.18);
}

/* ---------- HERO · estadísticas ---------- */
.gs-sc .gs-hero-stats{ display:flex; gap:0; margin-top:4rem; flex-wrap:wrap; position:relative; z-index:3; }
.gs-sc .gs-stat{ padding:0 2rem 0 0; border-right:1px solid rgba(255,255,255,.15); margin-right:2rem; }
.gs-sc .gs-stat:last-child{ border:0; margin:0; padding-right:0; }
.gs-sc .gs-stat strong{
  display:block; font-family:"Plus Jakarta Sans",sans-serif;
  font-size:2.25rem; font-weight:800; color:var(--gs-yellow);
  letter-spacing:-.02em; line-height:1;
}
.gs-sc .gs-stat span{ font-size:.88rem; color:rgba(255,255,255,.7); font-weight:500; }

/* ---------- ONDA separadora ---------- */
.gs-sc .gs-wave{ display:block; width:100%; height:80px; margin-top:-1px; }
.gs-sc .gs-wave path{ fill:var(--gs-bg); }

/* ---------- BANNER de gamos (horizonte) ---------- */
.gs-sc .gs-banner-strip{ background:#fff; padding:0; line-height:0; margin-top:-1px; text-align:center; }
.gs-sc .gs-banner-strip img{ max-height:100px; width:auto; display:inline-block; opacity:.85; }

/* ---------- DIVISOR con gamo ---------- */
.gs-sc .gs-divider{ display:flex; align-items:center; gap:1.5rem; max-width:520px; margin:3rem auto; padding:0 1.5rem; }
.gs-sc .gs-divider .gs-line{ flex:1; height:1px; background:linear-gradient(90deg, transparent 0%, var(--gs-border) 50%, transparent 100%); }
.gs-sc .gs-divider .gs-mark{ width:96px; height:auto; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
.gs-sc .gs-divider .gs-mark img{ width:100%; height:auto; filter:brightness(0); opacity:.78; }

/* ---------- CABECERA de sección (intro + label) ---------- */
.gs-sc .gs-intro{ padding:5rem 0 1rem; text-align:center; }
.gs-sc .gs-section-label{
  font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--gs-blue-l); margin-bottom:1rem;
}
.gs-sc .gs-intro h2{
  font-size:clamp(1.75rem,3.5vw,2.4rem); color:var(--gs-blue);
  margin:0 auto 1.25rem; font-weight:800; max-width:800px;
}
.gs-sc .gs-intro p{ max-width:720px; margin:0 auto; color:var(--gs-text-soft); font-size:1.08rem; }

/* ---------- GRID de cards numeradas ---------- */
.gs-sc .gs-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1.5rem; padding:1.5rem 0 4rem; }
.gs-sc .gs-card{
  position:relative; background:#fff; border:1px solid var(--gs-border);
  border-radius:var(--gs-radius-lg); padding:2rem 1.75rem;
  display:flex; flex-direction:column; overflow:hidden;
  transition:transform .25s cubic-bezier(.2,.7,.3,1.2), box-shadow .25s, border-color .25s;
}
.gs-sc .gs-card::before{
  content:""; position:absolute; top:0; right:0; left:0; height:3px;
  background:linear-gradient(90deg, transparent 0%, var(--gs-yellow) 50%, transparent 100%);
  transform:translateY(-3px); transition:transform .3s ease;
}
.gs-sc .gs-card:hover{ transform:translateY(-6px); box-shadow:var(--gs-shadow-lg); border-color:transparent; }
.gs-sc .gs-card:hover::before{ transform:translateY(0); }
.gs-sc .gs-card .gs-num{
  position:absolute; top:1.5rem; right:1.75rem; font-family:"Plus Jakarta Sans",sans-serif;
  font-size:.78rem; font-weight:700; color:var(--gs-text-soft); opacity:.4; letter-spacing:.08em;
}
.gs-sc .gs-card .gs-icon{
  width:56px; height:56px; border-radius:var(--gs-radius);
  background:linear-gradient(135deg, rgba(0,61,122,.06) 0%, rgba(0,61,122,.12) 100%);
  display:flex; align-items:center; justify-content:center; margin-bottom:1.5rem;
  transition:background .25s;
}
.gs-sc .gs-card:hover .gs-icon{ background:linear-gradient(135deg, var(--gs-blue) 0%, var(--gs-blue-l) 100%); }
.gs-sc .gs-card .gs-icon svg{
  width:28px; height:28px; stroke:var(--gs-blue); stroke-width:1.6; fill:none;
  stroke-linecap:round; stroke-linejoin:round; transition:stroke .25s;
}
.gs-sc .gs-card:hover .gs-icon svg{ stroke:var(--gs-yellow); }
.gs-sc .gs-card h3{ color:var(--gs-blue); font-size:1.18rem; margin-bottom:.6rem; font-weight:700; }
.gs-sc .gs-card p{ color:var(--gs-text-soft); font-size:.95rem; margin:0 0 1.5rem; flex:1; line-height:1.6; }

/* Card · enlace CTA */
.gs-sc a.gs-card-cta{
  color:var(--gs-blue); font-weight:600; text-decoration:none; font-size:.92rem;
  align-self:flex-start; display:inline-flex; align-items:center; gap:.35rem;
  transition:gap .2s, color .2s;
}
.gs-sc a.gs-card-cta::after{ content:"\2192"; transition:transform .2s; }
.gs-sc a.gs-card-cta:hover{ gap:.65rem; color:var(--gs-blue-l); }
.gs-sc a.gs-card-cta:hover::after{ transform:translateX(3px); }

/* Card · variante destacada (azul) */
.gs-sc .gs-card.gs-card-featured{
  background:linear-gradient(160deg, var(--gs-blue) 0%, var(--gs-blue-d) 100%);
  color:#fff; border-color:transparent;
}
.gs-sc .gs-card.gs-card-featured .gs-icon{ background:rgba(255,193,7,.18); }
.gs-sc .gs-card.gs-card-featured .gs-icon svg{ stroke:var(--gs-yellow); }
.gs-sc .gs-card.gs-card-featured h3,
.gs-sc .gs-card.gs-card-featured a.gs-card-cta{ color:#fff; }
.gs-sc .gs-card.gs-card-featured p{ color:rgba(255,255,255,.78); }
.gs-sc .gs-card.gs-card-featured .gs-num{ color:var(--gs-yellow); opacity:.7; }
.gs-sc .gs-card .gs-badge,
.gs-sc .gs-card.gs-card-featured .gs-badge{
  display:inline-block; background:var(--gs-yellow); color:var(--gs-blue);
  font-size:.7rem; font-weight:700; padding:.25rem .6rem; border-radius:var(--gs-radius-pill);
  letter-spacing:.04em; text-transform:uppercase; margin-bottom:1rem;
}

/* ---------- TIPOS / MODALIDADES (3 cards con highlight) ---------- */
.gs-sc .gs-types{ background:#fff; padding:5rem 0; border-top:1px solid var(--gs-border); border-bottom:1px solid var(--gs-border); }
.gs-sc .gs-types-head{ text-align:center; margin-bottom:3.5rem; }
.gs-sc .gs-types-head h2{ color:var(--gs-blue); font-size:clamp(1.75rem,3.5vw,2.4rem); margin-bottom:1rem; }
.gs-sc .gs-types-head p{ color:var(--gs-text-soft); max-width:640px; margin:0 auto; }
.gs-sc .gs-types-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1.5rem; }
.gs-sc .gs-type-card{
  background:var(--gs-bg); border:1px solid var(--gs-border);
  border-radius:var(--gs-radius-lg); padding:2rem 1.75rem; position:relative;
  transition:transform .2s, border-color .2s, box-shadow .2s;
}
.gs-sc .gs-type-card:hover{ transform:translateY(-4px); border-color:var(--gs-yellow); box-shadow:var(--gs-shadow-md); }
.gs-sc .gs-type-card.gs-type-recommended{
  background:linear-gradient(160deg, var(--gs-blue) 0%, var(--gs-blue-d) 100%);
  color:#fff; border-color:transparent;
}
.gs-sc .gs-type-card.gs-type-recommended h3{ color:#fff; }
.gs-sc .gs-type-card.gs-type-recommended p{ color:rgba(255,255,255,.85); }
.gs-sc .gs-type-card.gs-type-recommended .gs-type-sub{ color:var(--gs-yellow); }
.gs-sc .gs-type-card.gs-type-recommended .gs-type-bullets li{ color:rgba(255,255,255,.9); }
.gs-sc .gs-type-card.gs-type-recommended .gs-type-bullets li::before{ background:var(--gs-yellow); }
.gs-sc .gs-type-tag{
  display:inline-block; background:var(--gs-yellow); color:var(--gs-blue);
  font-size:.7rem; font-weight:700; padding:.25rem .6rem; border-radius:var(--gs-radius-pill);
  letter-spacing:.04em; text-transform:uppercase; margin-bottom:1rem;
}
.gs-sc .gs-type-card h3{ color:var(--gs-blue); font-size:1.3rem; margin-bottom:.5rem; font-weight:800; }
.gs-sc .gs-type-card .gs-type-sub{
  font-size:.85rem; color:var(--gs-text-soft); margin-bottom:1.25rem;
  font-weight:600; letter-spacing:.04em; text-transform:uppercase;
}
.gs-sc .gs-type-bullets{ list-style:none; padding:0; margin:0; }
.gs-sc .gs-type-bullets li{ font-size:.95rem; color:var(--gs-text-soft); padding:.4rem 0 .4rem 1.5rem; position:relative; }
.gs-sc .gs-type-bullets li::before{
  content:""; position:absolute; left:0; top:1.1rem; width:8px; height:8px;
  background:var(--gs-blue); border-radius:50%;
}

/* ---------- POTENCIAS (tabla de cards · IRVE) ---------- */
.gs-sc .gs-powers{ padding:5rem 0; background:var(--gs-bg); }
.gs-sc .gs-powers-head{ text-align:center; margin-bottom:3.5rem; }
.gs-sc .gs-powers-head h2{ color:var(--gs-blue); font-size:clamp(1.75rem,3.5vw,2.4rem); margin-bottom:1rem; }
.gs-sc .gs-powers-head p{ color:var(--gs-text-soft); max-width:640px; margin:0 auto; font-size:1.05rem; }
.gs-sc .gs-powers-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.25rem; }
.gs-sc .gs-power-card{
  background:#fff; border:1px solid var(--gs-border); border-radius:var(--gs-radius-lg);
  padding:1.75rem 1.5rem; text-align:center; position:relative; overflow:hidden;
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.gs-sc .gs-power-card:hover{ transform:translateY(-4px); box-shadow:var(--gs-shadow-md); border-color:var(--gs-yellow); }
.gs-sc .gs-power-card.gs-power-recommended{
  background:linear-gradient(160deg, rgba(255,193,7,.06) 0%, #fff 100%);
  border-color:var(--gs-yellow);
}
.gs-sc .gs-power-card.gs-power-recommended::before{
  content:"Recomendada"; position:absolute; top:.6rem; right:.6rem;
  background:var(--gs-yellow); color:var(--gs-blue); font-size:.65rem; font-weight:700;
  padding:.15rem .55rem; border-radius:var(--gs-radius-pill); letter-spacing:.04em; text-transform:uppercase;
}
.gs-sc .gs-power-card .gs-power-val{
  font-family:"Plus Jakarta Sans",sans-serif; font-size:2rem; font-weight:800;
  color:var(--gs-blue); letter-spacing:-.02em; line-height:1; margin-bottom:.3rem;
}
.gs-sc .gs-power-card .gs-power-val small{ font-size:1rem; color:var(--gs-text-soft); font-weight:600; }
.gs-sc .gs-power-card .gs-power-fase{
  font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--gs-yellow-d); margin-bottom:1rem;
}
.gs-sc .gs-power-card .gs-power-time{ background:var(--gs-bg); border-radius:var(--gs-radius); padding:.85rem .75rem; margin-bottom:1rem; }
.gs-sc .gs-power-card .gs-power-time strong{ display:block; color:var(--gs-blue); font-family:"Plus Jakarta Sans",sans-serif; font-size:1.15rem; }
.gs-sc .gs-power-card .gs-power-time span{ font-size:.78rem; color:var(--gs-text-soft); }
.gs-sc .gs-power-card .gs-power-best{ font-size:.88rem; color:var(--gs-text-soft); line-height:1.5; }

/* ---------- AHORRO (3 escenarios · FV) ---------- */
.gs-sc .gs-savings{ padding:5rem 0; background:var(--gs-bg); }
.gs-sc .gs-savings-head{ text-align:center; margin-bottom:3.5rem; }
.gs-sc .gs-savings-head h2{ color:var(--gs-blue); font-size:clamp(1.75rem,3.5vw,2.4rem); margin-bottom:1rem; }
.gs-sc .gs-savings-head p{ color:var(--gs-text-soft); max-width:640px; margin:0 auto; }
.gs-sc .gs-savings-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.25rem; }
.gs-sc .gs-saving-card{
  background:#fff; border:1px solid var(--gs-border); border-radius:var(--gs-radius-lg);
  padding:2rem 1.75rem; text-align:center; transition:transform .2s, box-shadow .2s;
}
.gs-sc .gs-saving-card:hover{ transform:translateY(-4px); box-shadow:var(--gs-shadow-md); }
.gs-sc .gs-saving-icon{
  width:64px; height:64px; margin:0 auto 1.25rem; border-radius:50%;
  background:linear-gradient(135deg, var(--gs-yellow) 0%, var(--gs-yellow-d) 100%);
  display:flex; align-items:center; justify-content:center; color:var(--gs-blue);
}
.gs-sc .gs-saving-icon svg{ width:28px; height:28px; stroke:currentColor; stroke-width:2; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.gs-sc .gs-saving-card h3{ color:var(--gs-blue); font-size:1.05rem; margin-bottom:.4rem; font-weight:700; }
.gs-sc .gs-saving-sub{ font-size:.85rem; color:var(--gs-text-soft); margin-bottom:1.5rem; }
.gs-sc .gs-saving-money{ display:flex; justify-content:space-between; padding:1rem 0; border-top:1px dashed var(--gs-border); }
.gs-sc .gs-saving-money:first-of-type{ border-top:0; }
.gs-sc .gs-saving-money .gs-saving-label{ font-size:.85rem; color:var(--gs-text-soft); }
.gs-sc .gs-saving-money .gs-saving-value{ font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; color:var(--gs-blue); font-size:1.1rem; }
.gs-sc .gs-saving-money.gs-saving-after .gs-saving-value{ color:var(--gs-yellow-d); }
.gs-sc .gs-saving-pct{
  display:inline-block; background:linear-gradient(135deg, var(--gs-yellow) 0%, var(--gs-yellow-d) 100%);
  color:var(--gs-blue); font-family:"Plus Jakarta Sans",sans-serif; font-weight:800;
  padding:.5rem 1rem; border-radius:var(--gs-radius-pill); margin-top:1rem; font-size:1.05rem;
  box-shadow:0 4px 12px rgba(255,193,7,.3);
}
.gs-sc .gs-savings-note{ text-align:center; margin-top:2rem; font-size:.85rem; color:var(--gs-text-soft); font-style:italic; }

/* ---------- PROCESO / TIMELINE ---------- */
.gs-sc .gs-process{ background:#fff; padding:5rem 0; border-top:1px solid var(--gs-border); border-bottom:1px solid var(--gs-border); }
.gs-sc .gs-process-head{ text-align:center; margin-bottom:4rem; }
.gs-sc .gs-process-head h2{ color:var(--gs-blue); font-size:clamp(1.75rem,3.5vw,2.4rem); margin-bottom:1rem; }
.gs-sc .gs-process-head p{ color:var(--gs-text-soft); max-width:640px; margin:0 auto; font-size:1.05rem; }
/* Pasos del proceso: el número del paso ocupa el cuadrado superior izquierdo
   (sustituye al icono genérico, que se oculta). */
.gs-sc .gs-process .gs-card .gs-icon{ display:none; }
.gs-sc .gs-process .gs-card .gs-num{
  position:static; display:inline-flex; align-items:center; justify-content:center;
  width:54px; height:54px; border-radius:var(--gs-radius);
  background:linear-gradient(135deg, var(--gs-blue) 0%, var(--gs-blue-l) 100%);
  color:#fff; font-size:1.4rem; font-weight:800; letter-spacing:0; opacity:1;
  margin:0 0 1.5rem; box-shadow:0 6px 16px rgba(0,61,122,.18);
}
.gs-sc .gs-process .gs-card:hover .gs-num{ transform:translateY(-1px); box-shadow:0 10px 24px rgba(0,61,122,.28); }
.gs-sc .gs-timeline{ position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; }
.gs-sc .gs-timeline::before{
  content:""; position:absolute; top:32px; left:10%; right:10%; height:2px;
  background:linear-gradient(90deg, var(--gs-yellow) 0%, var(--gs-blue) 100%); z-index:0;
}
.gs-sc .gs-step{ position:relative; z-index:1; text-align:center; padding:0 .5rem; }
.gs-sc .gs-step .gs-step-circle{
  width:64px; height:64px; margin:0 auto 1.25rem; border-radius:50%;
  background:#fff; border:3px solid var(--gs-yellow);
  display:flex; align-items:center; justify-content:center;
  font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:1.4rem;
  color:var(--gs-blue); box-shadow:0 4px 12px rgba(255,193,7,.25);
}
.gs-sc .gs-step:nth-child(n+4) .gs-step-circle{ border-color:var(--gs-blue); }
.gs-sc .gs-step h3,.gs-sc .gs-step h4{ color:var(--gs-blue); font-size:1rem; margin-bottom:.5rem; font-weight:700; }
.gs-sc .gs-step p{ color:var(--gs-text-soft); font-size:.88rem; margin:0; line-height:1.5; }

/* ---------- POR QUÉ (grid de ventajas) ---------- */
.gs-sc .gs-why{ background:var(--gs-bg); padding:5rem 0; }
.gs-sc .gs-why-head{ text-align:center; margin-bottom:3.5rem; }
.gs-sc .gs-why h2{ color:var(--gs-blue); font-size:clamp(1.75rem,3.5vw,2.4rem); margin-bottom:1rem; }
.gs-sc .gs-why-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.25rem; margin-bottom:2rem; }
.gs-sc .gs-why-item{
  padding:1.75rem 1.5rem; background:#fff; border-radius:var(--gs-radius);
  border:1px solid var(--gs-border); transition:transform .2s, box-shadow .2s;
}
.gs-sc .gs-why-item:hover{ transform:translateY(-3px); box-shadow:var(--gs-shadow-md); }
.gs-sc .gs-why-item .gs-check{
  width:36px; height:36px; border-radius:var(--gs-radius-sm);
  background:linear-gradient(135deg, var(--gs-yellow) 0%, var(--gs-yellow-d) 100%);
  display:flex; align-items:center; justify-content:center; margin-bottom:1rem; color:var(--gs-blue);
}
.gs-sc .gs-why-item .gs-check svg{ width:18px; height:18px; stroke:currentColor; stroke-width:3; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.gs-sc .gs-why-item h3,.gs-sc .gs-why-item h4{ color:var(--gs-blue); margin-bottom:.5rem; font-size:1.05rem; font-weight:700; }
.gs-sc .gs-why-item p{ color:var(--gs-text-soft); margin:0; font-size:.93rem; line-height:1.55; }

/* ---------- SELLO de confianza ---------- */
.gs-sc .gs-trust-seal{
  display:flex; flex-direction:column; align-items:center; gap:.75rem;
  margin-top:2rem; padding:2.5rem 1rem 1rem; border-top:1px dashed var(--gs-border);
}
.gs-sc .gs-trust-seal img{ width:80px; height:auto; filter:drop-shadow(0 6px 16px rgba(0,61,122,.18)); }
.gs-sc .gs-trust-seal-text{ text-align:center; }
.gs-sc .gs-trust-seal-text strong{ display:block; color:var(--gs-blue); font-family:"Plus Jakarta Sans",sans-serif; font-size:1.1rem; font-weight:800; margin-bottom:.25rem; }
.gs-sc .gs-trust-seal-text span{ display:block; color:var(--gs-text-soft); font-size:.9rem; }

/* ---------- MARCAS / PROVEEDORES ---------- */
.gs-sc .gs-brands-section{ background:linear-gradient(180deg, var(--gs-bg) 0%, #fff 100%); padding:5rem 0; }
.gs-sc .gs-brands-head{ text-align:center; margin-bottom:3rem; }
.gs-sc .gs-brands-head h2{ color:var(--gs-blue); font-size:clamp(1.75rem,3.5vw,2.4rem); margin-bottom:1rem; }
.gs-sc .gs-brands-head p{ color:var(--gs-text-soft); max-width:640px; margin:0 auto; font-size:1.05rem; }
.gs-sc .gs-brands-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.5rem; }
.gs-sc .gs-brand-card{
  position:relative; background:#fff; border:1px solid var(--gs-border);
  border-radius:var(--gs-radius-lg); padding:2.5rem 2rem; overflow:hidden;
  transition:transform .25s cubic-bezier(.2,.7,.3,1.2), box-shadow .25s, border-color .25s;
}
.gs-sc .gs-brand-card::before{
  content:""; position:absolute; top:-40%; right:-30%; width:300px; height:300px;
  border-radius:50%; background:radial-gradient(circle, rgba(255,193,7,.12) 0%, transparent 70%);
  transition:transform .4s;
}
.gs-sc .gs-brand-card:hover{ transform:translateY(-6px); box-shadow:var(--gs-shadow-lg); border-color:var(--gs-yellow); }
.gs-sc .gs-brand-card:hover::before{ transform:scale(1.4); }
.gs-sc .gs-brand-card .gs-brand-icon{
  width:48px; height:48px; border-radius:12px;
  background:linear-gradient(135deg, var(--gs-blue) 0%, var(--gs-blue-l) 100%);
  display:flex; align-items:center; justify-content:center; margin-bottom:1.25rem;
  position:relative; z-index:2;
}
.gs-sc .gs-brand-card .gs-brand-icon svg{ width:24px; height:24px; stroke:var(--gs-yellow); stroke-width:1.6; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.gs-sc .gs-brand-card .gs-brand-name{
  font-family:"Plus Jakarta Sans",sans-serif; font-size:1.75rem; font-weight:800;
  color:var(--gs-blue); letter-spacing:-.02em; margin:0 0 .35rem; position:relative; z-index:2;
}
.gs-sc .gs-brand-card .gs-brand-tag{
  font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gs-yellow-d); margin-bottom:1rem; position:relative; z-index:2;
}
.gs-sc .gs-brand-card .gs-brand-desc{ color:var(--gs-text-soft); font-size:.95rem; line-height:1.6; margin:0 0 1.5rem; position:relative; z-index:2; }
.gs-sc .gs-brand-card .gs-brand-meta{
  display:flex; align-items:center; gap:.5rem; color:var(--gs-blue); font-weight:600;
  font-size:.88rem; padding-top:1.25rem; border-top:1px solid var(--gs-border);
  position:relative; z-index:2;
}
.gs-sc .gs-brand-card .gs-brand-meta svg{ width:16px; height:16px; stroke:currentColor; stroke-width:2.5; fill:none; stroke-linecap:round; stroke-linejoin:round; }

/* ---------- COBERTURA (mapa + zonas) ---------- */
.gs-sc .gs-coverage{ padding:5rem 0 4rem; background:var(--gs-bg); }
.gs-sc .gs-coverage-head{ text-align:center; margin-bottom:3.5rem; }
.gs-sc .gs-coverage-head h2{ color:var(--gs-blue); font-size:clamp(1.75rem,3.5vw,2.4rem); margin-bottom:1rem; }
.gs-sc .gs-coverage-head p{ color:var(--gs-text-soft); max-width:640px; margin:0 auto; font-size:1.05rem; }
.gs-sc .gs-coverage-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:3rem; align-items:center; }
.gs-sc .gs-map-wrap{
  position:relative; background:#fff; border:1px solid var(--gs-border);
  border-radius:var(--gs-radius-lg); padding:1.5rem 1.5rem 2.5rem; box-shadow:var(--gs-shadow-md);
}
.gs-sc .gs-map-wrap img{ width:100%; height:auto; display:block; }
.gs-sc .gs-map-wrap .gs-map-label{
  position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%);
  background:#fff; padding:.5rem 1.25rem; border-radius:var(--gs-radius-pill);
  box-shadow:var(--gs-shadow-md); font-weight:700; color:var(--gs-blue);
  font-family:"Plus Jakarta Sans",sans-serif; font-size:.95rem;
}
.gs-sc .gs-map-wrap .gs-map-label::before{
  content:""; display:inline-block; width:8px; height:8px; background:var(--gs-yellow);
  border-radius:50%; margin-right:.5rem; vertical-align:middle; box-shadow:0 0 12px var(--gs-yellow);
}
.gs-sc .gs-coverage-list{ display:flex; flex-direction:column; gap:1.25rem; }
.gs-sc .gs-coverage-item{
  background:#fff; border:1px solid var(--gs-border); border-radius:var(--gs-radius);
  padding:1.5rem; display:flex; gap:1rem; align-items:flex-start;
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.gs-sc .gs-coverage-item:hover{ transform:translateX(4px); border-color:var(--gs-yellow); box-shadow:var(--gs-shadow-md); }
.gs-sc .gs-coverage-item .gs-pin{
  width:42px; height:42px; flex-shrink:0; border-radius:12px;
  background:linear-gradient(135deg, var(--gs-blue) 0%, var(--gs-blue-l) 100%);
  display:flex; align-items:center; justify-content:center; color:var(--gs-yellow);
}
.gs-sc .gs-coverage-item .gs-pin svg{ width:18px; height:18px; stroke:currentColor; stroke-width:2; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.gs-sc .gs-coverage-item.gs-coverage-secondary .gs-pin{
  background:linear-gradient(135deg, var(--gs-border) 0%, var(--gs-border-strong) 100%);
  color:var(--gs-blue);
}
.gs-sc .gs-coverage-item h3,.gs-sc .gs-coverage-item h4{ color:var(--gs-blue); margin:0 0 .25rem; font-size:1.05rem; font-weight:700; font-family:"Plus Jakarta Sans",sans-serif; }
.gs-sc .gs-coverage-item p{ color:var(--gs-text-soft); margin:0; font-size:.92rem; }

/* ---------- FAQ (acordeón nativo) ---------- */
.gs-sc .gs-faq{ background:#fff; padding:5rem 0; border-top:1px solid var(--gs-border); border-bottom:1px solid var(--gs-border); }
.gs-sc .gs-faq-head{ text-align:center; margin-bottom:3rem; }
.gs-sc .gs-faq-head h2{ color:var(--gs-blue); font-size:clamp(1.75rem,3.5vw,2.4rem); margin-bottom:1rem; }
.gs-sc .gs-faq-head p{ color:var(--gs-text-soft); max-width:600px; margin:0 auto; }
.gs-sc .gs-faq-list{ max-width:780px; margin:0 auto; }
.gs-sc .gs-faq-item{
  background:var(--gs-bg); border:1px solid var(--gs-border); border-radius:var(--gs-radius);
  margin-bottom:.85rem; overflow:hidden; transition:border-color .2s, box-shadow .2s;
}
.gs-sc .gs-faq-item[open]{ border-color:var(--gs-yellow); box-shadow:var(--gs-shadow-sm); }
.gs-sc .gs-faq-item summary{
  padding:1.25rem 1.5rem; cursor:pointer; font-weight:600; color:var(--gs-blue);
  font-family:"Plus Jakarta Sans",sans-serif; font-size:1.02rem;
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  list-style:none; transition:color .2s;
}
.gs-sc .gs-faq-item summary::-webkit-details-marker{ display:none; }
.gs-sc .gs-faq-item summary::after{
  content:""; width:24px; height:24px; flex-shrink:0; background:var(--gs-yellow);
  border-radius:50%; position:relative; transition:transform .25s;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003D7A' stroke-width='3' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat; background-position:center; background-size:14px;
}
.gs-sc .gs-faq-item[open] summary::after{ transform:rotate(180deg); }
.gs-sc .gs-faq-item .gs-faq-body{ padding:0 1.5rem 1.4rem; color:var(--gs-text-soft); font-size:.96rem; line-height:1.65; }

/* ---------- CTA FINAL (banda azul) ---------- */
.gs-sc .gs-final{
  position:relative; background:linear-gradient(135deg, var(--gs-blue-d) 0%, var(--gs-blue) 100%);
  color:#fff; padding:5rem 1.5rem; overflow:hidden;
}
.gs-sc .gs-final::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(60% 80% at 20% 50%, rgba(255,193,7,.16) 0%, transparent 60%);
}
.gs-sc .gs-final-inner{ position:relative; z-index:2; text-align:center; max-width:720px; margin:0 auto; }
.gs-sc .gs-final h2{ font-size:clamp(1.75rem,3.5vw,2.4rem); margin-bottom:1rem; color:#fff; }
.gs-sc .gs-final h2 .gs-accent{
  background:linear-gradient(120deg, var(--gs-yellow) 0%, var(--gs-yellow-l) 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.gs-sc .gs-final p{ font-size:1.08rem; margin:0 auto 2rem; color:rgba(255,255,255,.85); }
.gs-sc .gs-final-row{ display:flex; gap:.85rem; justify-content:center; flex-wrap:wrap; }

/* ---------- FORMULARIO ---------- */
.gs-sc .gs-form-section{ padding:5rem 1.5rem; background:var(--gs-bg); }
.gs-sc .gs-form-wrap{
  max-width:720px; margin:0 auto; background:#fff; padding:3rem 2.5rem;
  border-radius:var(--gs-radius-lg); box-shadow:var(--gs-shadow-md); border:1px solid var(--gs-border);
}
.gs-sc .gs-form-wrap h2{ color:var(--gs-blue); text-align:center; font-size:clamp(1.5rem,3vw,2rem); margin-bottom:.75rem; }
.gs-sc .gs-form-wrap > p{ text-align:center; color:var(--gs-text-soft); margin:0 0 2.5rem; font-size:1rem; }
/* Campos de formulario (CF7) — borde más definido, padding cómodo, foco en marca */
.gs-sc .wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=file]),
.gs-sc .wpcf7-form textarea,
.gs-sc .wpcf7-form select{
  width:100%; box-sizing:border-box;
  padding:.7rem .9rem; font-size:16px; font-family:inherit;
  color:var(--gs-text); background:#fff;
  border:1.5px solid #cbd5e1; border-radius:var(--gs-radius-sm);
  transition:border-color .18s ease, box-shadow .18s ease;
}
.gs-sc .wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=file]):focus,
.gs-sc .wpcf7-form textarea:focus,
.gs-sc .wpcf7-form select:focus{
  outline:0; border-color:var(--gs-blue);
  box-shadow:0 0 0 3px rgba(0,61,122,.14);
}
.gs-sc .wpcf7-form textarea{ min-height:120px; resize:vertical; }
.gs-sc .wpcf7-form input::placeholder,
.gs-sc .wpcf7-form textarea::placeholder{ color:#94a3b8; }

/* ---------- BANDA blanca (sección genérica · p. ej. calculadoras) ---------- */
.gs-sc .gs-band{
  background:#fff; padding:5rem 0;
  border-top:1px solid var(--gs-border); border-bottom:1px solid var(--gs-border);
  scroll-margin-top:90px;
}

/* ---------- TESTIMONIOS ---------- */
.gs-sc .gs-testimonials{ background:#fff; padding:5rem 0; border-top:1px solid var(--gs-border); border-bottom:1px solid var(--gs-border); }
.gs-sc .gs-testimonials-head{ text-align:center; margin-bottom:3.5rem; }
.gs-sc .gs-testimonials-head h2{ color:var(--gs-blue); font-size:clamp(1.75rem,3.5vw,2.4rem); margin-bottom:1rem; }
.gs-sc .gs-testimonials-head p{ color:var(--gs-text-soft); max-width:640px; margin:0 auto; font-size:1.05rem; }
.gs-sc .gs-testimonials-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(258px,1fr)); gap:1.5rem; }
.gs-sc .gs-testimonial{
  position:relative; background:var(--gs-bg); border:1px solid var(--gs-border);
  border-radius:var(--gs-radius-lg); padding:0; margin:0; overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .25s cubic-bezier(.2,.7,.3,1.2), box-shadow .25s, border-color .25s;
}
.gs-sc .gs-testimonial-photo{ aspect-ratio:16/9; overflow:hidden; background:var(--gs-blue-d); }
.gs-sc .gs-testimonial-photo img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.gs-sc .gs-testimonial:hover .gs-testimonial-photo img{ transform:scale(1.05); }
.gs-sc .gs-testimonial-body{ position:relative; padding:2.4rem 1.6rem 1.5rem; display:flex; flex-direction:column; flex:1; }
.gs-sc .gs-testimonial-body::before{
  content:"\201C"; position:absolute; top:.15rem; left:1.2rem;
  font-family:"Plus Jakarta Sans",Georgia,serif; font-size:3.4rem; line-height:1;
  color:var(--gs-yellow); opacity:.5; pointer-events:none;
}
.gs-sc .gs-testimonial:hover{ transform:translateY(-6px); box-shadow:var(--gs-shadow-lg); border-color:var(--gs-yellow); }
.gs-sc .gs-testimonial-stars{ position:relative; z-index:1; color:var(--gs-yellow); font-size:1rem; letter-spacing:.12em; margin-bottom:.85rem; }
.gs-sc .gs-testimonial p{ position:relative; z-index:1; color:var(--gs-text); font-size:.98rem; line-height:1.65; margin:0 0 1.5rem; flex:1; }
.gs-sc .gs-testimonial-author{ display:flex; align-items:center; gap:.8rem; padding-top:1.25rem; border-top:1px solid var(--gs-border); }
.gs-sc .gs-testimonial-avatar{
  width:46px; height:46px; flex-shrink:0; border-radius:50%;
  background:linear-gradient(135deg, var(--gs-blue) 0%, var(--gs-blue-l) 100%);
  display:flex; align-items:center; justify-content:center;
  color:var(--gs-yellow); font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:1.1rem;
}
.gs-sc .gs-testimonial-meta strong{ display:block; color:var(--gs-blue); font-family:"Plus Jakarta Sans",sans-serif; font-size:.95rem; font-weight:700; }
.gs-sc .gs-testimonial-meta span{ font-size:.82rem; color:var(--gs-text-soft); }

/* ---------- MARCAS / LOGOS de proveedores ---------- */
.gs-sc .gs-logos{ background:var(--gs-bg); padding:5rem 0; }
.gs-sc .gs-logos-head{ text-align:center; margin-bottom:3rem; }
.gs-sc .gs-logos-head h2{ color:var(--gs-blue); font-size:clamp(1.6rem,3.2vw,2.2rem); margin-bottom:1rem; }
.gs-sc .gs-logos-head p{ color:var(--gs-text-soft); max-width:600px; margin:0 auto; font-size:1.05rem; }
.gs-sc .gs-logos-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:1.1rem; max-width:980px; margin:0 auto; }
.gs-sc .gs-logo-item{
  flex:0 1 200px;
  display:flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid var(--gs-border); border-radius:var(--gs-radius);
  padding:1.5rem 1.25rem; min-height:104px;
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.gs-sc .gs-logo-item:hover{ transform:translateY(-3px); box-shadow:var(--gs-shadow-md); border-color:var(--gs-yellow); }
.gs-sc .gs-logo-item img{
  max-width:100%; max-height:62px; width:auto; height:auto; display:block;
  filter:grayscale(1); opacity:.72; transition:filter .25s, opacity .25s;
}
.gs-sc .gs-logo-item:hover img{ filter:grayscale(0); opacity:1; }

/* ---------- HERO con fotografía (variante de portada) ---------- */
.gs-sc .gs-hero-photo{
  background-color:var(--gs-blue-d);
  background-image:
    linear-gradient(96deg, rgba(0,38,77,.96) 0%, rgba(0,38,77,.9) 30%, rgba(0,61,122,.66) 60%, rgba(0,61,122,.4) 100%),
    var(--gs-hero-img);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
/* Sobre Nosotros (553): hero más compacto para que el gráfico de marca se vea mejor (web y móvil) */
body.page-id-553 .gs-sc .gs-hero{ padding-top:3.25rem; padding-bottom:3.5rem; }
body.page-id-553 .gs-sc .gs-hero-inner{ padding-top:1.5rem; }
@media (max-width:768px){
  body.page-id-553 .gs-sc .gs-hero{ padding-top:2.25rem; padding-bottom:2.5rem; }
}
@keyframes gs-rise{ from{ opacity:0; transform:translateY(20px); } to{ opacity:1; transform:none; } }
.gs-sc .gs-hero-photo .gs-hero-inner > *{ animation:gs-rise .7s cubic-bezier(.2,.7,.3,1) backwards; }
.gs-sc .gs-hero-photo .gs-hero-inner > *:nth-child(2){ animation-delay:.09s; }
.gs-sc .gs-hero-photo .gs-hero-inner > *:nth-child(3){ animation-delay:.18s; }
.gs-sc .gs-hero-photo .gs-hero-inner > *:nth-child(4){ animation-delay:.27s; }
.gs-sc .gs-hero-photo .gs-hero-inner > *:nth-child(5){ animation-delay:.36s; }

/* ---------- SPLIT (texto + imagen) ---------- */
.gs-sc .gs-split{ display:grid; grid-template-columns:1.05fr .95fr; gap:3.25rem; align-items:center; padding:5rem 0; }
.gs-sc .gs-split-media{ border-radius:var(--gs-radius-lg); overflow:hidden; box-shadow:var(--gs-shadow-lg); }
.gs-sc .gs-split-media img{ width:100%; height:100%; min-height:300px; max-height:430px; object-fit:cover; object-position:center 28%; display:block; }
.gs-sc .gs-split-text h2{ color:var(--gs-blue); font-size:clamp(1.75rem,3.5vw,2.4rem); font-weight:800; margin:.4rem 0 1.1rem; }
.gs-sc .gs-split-text p{ color:var(--gs-text-soft); font-size:1.08rem; margin:0; }
.gs-sc .gs-split-text p + p{ margin-top:1rem; }

/* ---------- TARJETA con foto (servicios) ---------- */
.gs-sc .gs-pcard{
  position:relative; background:#fff; border:1px solid var(--gs-border);
  border-radius:var(--gs-radius-lg); overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .25s cubic-bezier(.2,.7,.3,1.2), box-shadow .25s, border-color .25s;
}
.gs-sc .gs-pcard:hover{ transform:translateY(-6px); box-shadow:var(--gs-shadow-lg); border-color:var(--gs-yellow); }
.gs-sc .gs-pcard-media{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--gs-blue-d); }
.gs-sc .gs-pcard-media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.gs-sc .gs-pcard:hover .gs-pcard-media img{ transform:scale(1.06); }
.gs-sc .gs-pcard-body{ padding:1.6rem 1.6rem 1.75rem; display:flex; flex-direction:column; flex:1; }
.gs-sc .gs-pcard-body h3{ color:var(--gs-blue); font-size:1.2rem; font-weight:700; margin:0 0 .55rem; }
.gs-sc .gs-pcard-body p{ color:var(--gs-text-soft); font-size:.95rem; line-height:1.6; margin:0 0 1.25rem; flex:1; }

/* ---------- ANIMACIÓN scroll-reveal · A PRUEBA DE FALLOS ----------
   El contenido es SIEMPRE visible por defecto (no hay estado opacity:0).
   La clase .gs-in (que el JS añade al entrar en viewport) sólo dispara
   una animación de entrada de una pasada. Si el JS o el IntersectionObserver
   fallan o no llegan a un elemento, la sección se ve igual — el contenido
   NUNCA queda invisible. */
/* A PRUEBA DE FALLOS: la base .gs-reveal queda SIEMPRE visible (sin opacity:0).
   La animación de entrada (gs-rise, con relleno "backwards") sólo se reproduce
   al añadir .gs-in cuando el elemento entra en viewport. Si el observer no
   llegara a dispararse (scroll por saltos, anchors, momentum en iOS…), el
   contenido se ve igual — NUNCA queda en blanco. */
.gs-sc.gs-anim .gs-reveal.gs-in{ animation:gs-rise .7s cubic-bezier(.2,.7,.3,1) backwards; }
.gs-sc.gs-anim .gs-reveal.gs-in:nth-child(2){ animation-delay:.07s; }
.gs-sc.gs-anim .gs-reveal.gs-in:nth-child(3){ animation-delay:.14s; }
.gs-sc.gs-anim .gs-reveal.gs-in:nth-child(4){ animation-delay:.21s; }
.gs-sc.gs-anim .gs-reveal.gs-in:nth-child(5){ animation-delay:.28s; }
.gs-sc.gs-anim .gs-reveal.gs-in:nth-child(6){ animation-delay:.35s; }
@media (prefers-reduced-motion:reduce){
  .gs-sc .gs-hero-photo .gs-hero-inner > *{ animation:none; }
  .gs-sc.gs-anim .gs-reveal.gs-in{ animation:none; }
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .gs-sc .gs-split{ grid-template-columns:1fr; gap:2.25rem; padding:4rem 0; }
  .gs-sc .gs-coverage-grid{ grid-template-columns:1fr; gap:2rem; }
  .gs-sc .gs-timeline{ grid-template-columns:1fr; gap:2rem; }
  .gs-sc .gs-timeline::before{ left:32px; right:auto; top:32px; bottom:32px; width:2px; height:auto; }
  .gs-sc .gs-step{ display:grid; grid-template-columns:64px 1fr; gap:1rem; text-align:left; align-items:start; padding:0; }
  .gs-sc .gs-step .gs-step-circle{ margin:0; }
}
@media (max-width:768px){
  .gs-sc .gs-hero{ padding:4.5rem 1.5rem 5rem; }
  .gs-sc .gs-hero-logo{ top:1rem; left:1rem; padding:.4rem .65rem; }
  .gs-sc .gs-hero-logo img{ height:34px; }
  .gs-sc .gs-gamo-art{ opacity:.09; right:.5rem; width:58%; }
  .gs-sc .gs-hero-stats{ gap:1.5rem; margin-top:3rem; }
  .gs-sc .gs-stat{ border:0; padding:0; margin:0; flex:1 1 130px; }
  .gs-sc .gs-form-wrap{ padding:2rem 1.5rem; }
  /* Botones del hero a ancho igual y apilados */
  .gs-sc .gs-cta-row{ flex-direction:column; align-items:stretch; width:100%; }
  .gs-sc .gs-cta-row .gs-cta{ width:100%; justify-content:center; }
}

/* ============================================================
   PROFUNDIDAD · sombra de reposo en tarjetas
   Antes las tarjetas sólo tenían sombra en :hover; en reposo eran
   planas (sólo un borde fino). Ahora todas tienen una elevación
   suave de base — el :hover la intensifica con --gs-shadow-md/-lg.
   ============================================================ */
.gs-sc .gs-card,
.gs-sc .gs-type-card,
.gs-sc .gs-power-card,
.gs-sc .gs-saving-card,
.gs-sc .gs-why-item,
.gs-sc .gs-brand-card,
.gs-sc .gs-coverage-item,
.gs-sc .gs-testimonial,
.gs-sc .gs-logo-item,
.gs-sc .gs-pcard{
  box-shadow:var(--gs-shadow-sm);
}


/* ════════════════════════════════════════════════════════════
   TRUST BAR — franja de credenciales bajo el hero
   ════════════════════════════════════════════════════════════ */
.gs-trust-bar {
  background: #002a55;
  padding: 11px 0;
  overflow: hidden;
}
.gs-trust-bar .gs-wrap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, max-content));
  justify-content: center;
  align-items: center;
  gap: 9px 2.25rem;
  max-width: 760px;
  margin: 0 auto;
}
/* En pantallas anchas, los 4 en una sola fila ordenada */
@media (min-width: 1240px) {
  .gs-trust-bar .gs-wrap { grid-template-columns: repeat(4, max-content); max-width: none; gap: 0 2rem; }
}
.gs-trust-item {
  color: rgba(255,255,255,0.82);
  font-size: 0.82rem;
  font-family: var(--gs-font-body);
  display: flex;
  align-items: center;
  gap: 7px;
  line-height: 1.3;
}
.gs-trust-item strong {
  color: var(--gs-yellow);
  font-weight: 600;
}
.gs-trust-item::before {
  content: "";
  width: 5px;
  height: 5px;
  background: var(--gs-yellow);
  border-radius: 50%;
  flex-shrink: 0;
}
@media (max-width: 1000px) {
  /* En móvil/tablet: una credencial por línea, centrada, con el punto alineado a la 1ª línea */
  .gs-trust-bar { padding: 13px 0; }
  .gs-trust-bar .gs-wrap { grid-template-columns: 1fr; gap: 10px; max-width: 420px; }
  .gs-trust-item { font-size: 0.82rem; justify-content: center; text-align: center; align-items: flex-start; gap: 8px; }
  .gs-trust-item::before { margin-top: 6px; }
}

/* ════════════════════════════════════════════════════════════
   DOCUMENTATION GRID — sección "Qué recibes"
   ════════════════════════════════════════════════════════════ */
.gs-doc-section {
  background: var(--gs-blue);
  padding: var(--gs-space-2xl) 0;
}
.gs-doc-section .gs-section-title,
.gs-doc-section .gs-section-sub {
  color: #fff;
}
.gs-doc-section .gs-section-sub { opacity: .85; }
.gs-doc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: var(--gs-space-xl);
}
.gs-doc-item {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 8px;
  padding: 15px 18px;
  color: #fff;
  font-size: .93rem;
  font-family: var(--gs-font-body);
  display: flex;
  align-items: flex-start;
  gap: 11px;
  transition: background .2s, border-color .2s;
}
.gs-doc-item:hover {
  background: rgba(255,193,7,.11);
  border-color: var(--gs-yellow);
}
.gs-doc-item::before {
  content: "✓";
  color: var(--gs-yellow);
  font-weight: 700;
  font-size: .95rem;
  flex-shrink: 0;
  margin-top: 1px;
}
@media (max-width: 900px) { .gs-doc-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px) { .gs-doc-grid { grid-template-columns: 1fr; } }

/* ════════════════════════════════════════════════════════════
   MOBILE STICKY CTA BAR
   ════════════════════════════════════════════════════════════ */
.gs-mobile-cta {
  display: none;
}
@media (max-width: 768px) {
  body { padding-bottom: 68px; }
  .gs-mobile-cta {
    display: flex;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    z-index: 9900;
    background: #fff;
    border-top: 2px solid var(--gs-yellow);
    padding: 9px 14px 9px;
    gap: 9px;
    box-shadow: 0 -3px 16px rgba(0,0,0,.13);
  }
  .gs-mobile-cta a {
    flex: 1;
    text-align: center;
    padding: 11px 6px;
    border-radius: 6px;
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: opacity .15s;
  }
  .gs-mobile-cta a:active { opacity: .85; }
  .gs-mobile-cta .gs-mcta-primary {
    background: var(--gs-yellow);
    color: var(--gs-blue);
    font-family: var(--gs-font-head);
  }
  .gs-mobile-cta .gs-mcta-wa {
    background: #047857;
    color: #fff;
    font-family: var(--gs-font-head);
  }
  .gs-mobile-cta svg { flex-shrink: 0; }
}


/* ════════════════════════════════════════════════════════════
   SOBRE NOSOTROS — componentes específicos
   Añadido 2026-05-20 · pág. /sobre-nosotros/ (ID 553)
   ════════════════════════════════════════════════════════════ */

/* Narrativa de "¿Por qué nació Gamo Solar?" — texto secundario */
.gs-sc .gs-about-narrative{ padding:0 0 4rem; }
.gs-sc .gs-about-narrative .gs-wrap{ max-width:760px; }
.gs-sc .gs-about-narrative p{ color:var(--gs-text-soft); font-size:1.06rem; margin:0 0 1rem; }
.gs-sc .gs-about-narrative .gs-about-highlight{
  background:linear-gradient(135deg, rgba(255,193,7,.12) 0%, rgba(255,193,7,.04) 100%);
  border-left:3px solid var(--gs-yellow);
  padding:1rem 1.25rem; margin:1.5rem 0 0; border-radius:0 var(--gs-radius-sm) var(--gs-radius-sm) 0;
  color:var(--gs-blue); font-size:1.08rem;
}

/* ── EQUIPO ── */
.gs-sc .gs-team{ background:#fff; padding:5rem 0 4.5rem; border-top:1px solid var(--gs-border); border-bottom:1px solid var(--gs-border); }
.gs-sc .gs-team-head{ text-align:center; max-width:760px; margin:0 auto 3rem; }
.gs-sc .gs-team-head h2{ color:var(--gs-blue); font-size:clamp(1.75rem,3.5vw,2.4rem); font-weight:800; margin:.6rem 0 1rem; }
.gs-sc .gs-team-head p{ color:var(--gs-text-soft); font-size:1.05rem; margin:0; }
.gs-sc .gs-team-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.75rem; align-items:stretch;
}
.gs-sc .gs-team-card{
  background:#fff; border:1px solid var(--gs-border); border-radius:var(--gs-radius-lg);
  overflow:hidden; display:flex; flex-direction:column;
  box-shadow:var(--gs-shadow-sm);
  transition:transform .25s cubic-bezier(.2,.7,.3,1.2), box-shadow .25s, border-color .25s;
}
.gs-sc .gs-team-card:hover{ transform:translateY(-6px); box-shadow:var(--gs-shadow-lg); border-color:var(--gs-yellow); }
.gs-sc .gs-team-photo{ position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--gs-bg); }
.gs-sc .gs-team-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 28%; display:block; transition:transform .5s ease; }
.gs-sc .gs-team-card:hover .gs-team-photo img{ transform:scale(1.04); }
.gs-sc .gs-team-body{ padding:1.5rem 1.5rem 1.75rem; display:flex; flex-direction:column; flex:1; }
.gs-sc .gs-team-body h3{ color:var(--gs-blue); font-size:1.18rem; font-weight:800; margin:0 0 .25rem; }
.gs-sc .gs-team-role{ color:var(--gs-blue-l); font-size:.92rem; font-weight:600; margin:0 0 1rem; }
.gs-sc .gs-team-quote{
  margin:0; padding:0; border:0;
  color:var(--gs-text-soft); font-size:.95rem; font-style:italic; line-height:1.55;
  position:relative; padding-left:1rem;
}
.gs-sc .gs-team-quote::before{
  content:""; position:absolute; left:0; top:.35rem; bottom:.35rem; width:3px;
  background:linear-gradient(180deg, var(--gs-yellow) 0%, var(--gs-yellow-l) 100%);
  border-radius:2px;
}
.gs-sc .gs-team-closer{
  text-align:center; max-width:780px; margin:3rem auto 0;
  color:var(--gs-text); font-size:1.08rem;
}
.gs-sc .gs-team-closer strong{ color:var(--gs-blue); }

/* ── SPLIT con foto apilada (2 imágenes verticales) ── */
.gs-sc .gs-split-wrap{ padding:1rem 0; }
.gs-sc .gs-split-media-stack{ display:grid; gap:1rem; box-shadow:none; border-radius:0; overflow:visible; }
.gs-sc .gs-split-media-stack img{
  width:100%; min-height:auto; max-height:none; height:auto; object-fit:cover;
  border-radius:var(--gs-radius-lg); box-shadow:var(--gs-shadow-md);
}

/* ── MISIÓN Y VISIÓN ── */
.gs-sc .gs-mision{ background:var(--gs-bg); padding:5rem 0 4.5rem; }
.gs-sc .gs-mision-head{ text-align:center; margin-bottom:3rem; }
.gs-sc .gs-mision-head h2{ color:var(--gs-blue); font-size:clamp(1.75rem,3.5vw,2.4rem); font-weight:800; margin:.6rem 0 0; }
.gs-sc .gs-mision-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:1.75rem;
}
.gs-sc .gs-mision-card{
  background:#fff; border:1px solid var(--gs-border); border-radius:var(--gs-radius-lg);
  padding:2.25rem 1.75rem; box-shadow:var(--gs-shadow-sm);
  transition:transform .25s, box-shadow .25s, border-color .25s;
  position:relative; overflow:hidden;
}
.gs-sc .gs-mision-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg, var(--gs-yellow) 0%, var(--gs-yellow-l) 100%);
  transform:scaleX(0); transform-origin:left; transition:transform .35s ease;
}
.gs-sc .gs-mision-card:hover{ transform:translateY(-4px); box-shadow:var(--gs-shadow-lg); border-color:transparent; }
.gs-sc .gs-mision-card:hover::before{ transform:scaleX(1); }
.gs-sc .gs-mision-icon{
  width:54px; height:54px; border-radius:14px;
  background:linear-gradient(135deg, rgba(0,61,122,.08) 0%, rgba(255,193,7,.12) 100%);
  color:var(--gs-blue); display:flex; align-items:center; justify-content:center;
  margin-bottom:1.25rem;
}
.gs-sc .gs-mision-icon svg{ width:26px; height:26px; }
.gs-sc .gs-mision-card h3{ color:var(--gs-blue); font-size:1.35rem; font-weight:800; margin:0 0 .6rem; }
.gs-sc .gs-mision-card p{ color:var(--gs-text-soft); font-size:1rem; margin:0; line-height:1.65; }
.gs-sc .gs-mision-card p strong{ color:var(--gs-blue); }

/* ── COBERTURA "sobre nosotros" (variante simple, mapa + texto) ── */
.gs-sc .gs-about-coverage{ background:#fff; padding:5rem 0 4.5rem; border-top:1px solid var(--gs-border); border-bottom:1px solid var(--gs-border); }
.gs-sc .gs-about-coverage-grid{
  display:grid; grid-template-columns:1fr 1.1fr; gap:3rem; align-items:center;
}
.gs-sc .gs-about-coverage-map{
  background:linear-gradient(135deg, var(--gs-bg) 0%, #fff 100%);
  border:1px solid var(--gs-border); border-radius:var(--gs-radius-lg);
  padding:2rem; box-shadow:var(--gs-shadow-md); text-align:center;
}
.gs-sc .gs-about-coverage-map img{ width:100%; max-width:520px; height:auto; display:block; margin:0 auto; }
.gs-sc .gs-about-coverage-body h2{ color:var(--gs-blue); font-size:clamp(1.75rem,3.5vw,2.4rem); font-weight:800; margin:.6rem 0 1.1rem; }
.gs-sc .gs-about-coverage-body p{ color:var(--gs-text-soft); font-size:1.05rem; margin:0 0 1rem; line-height:1.65; }
.gs-sc .gs-about-coverage-body p strong{ color:var(--gs-blue); }

/* ── CIERRE / CTA FINAL ── */
.gs-sc .gs-final-cta{
  background:
    radial-gradient(120% 60% at 100% 0%, rgba(255,193,7,.16) 0%, rgba(255,193,7,0) 55%),
    linear-gradient(160deg, var(--gs-blue-d) 0%, var(--gs-blue) 60%, var(--gs-blue-l) 100%);
  padding:5rem 0 5.5rem; color:#fff;
}
.gs-sc .gs-final-cta-inner{ text-align:center; max-width:760px; margin:0 auto; }
.gs-sc .gs-final-cta-inner h2{ color:#fff; font-size:clamp(1.85rem,4vw,2.6rem); font-weight:800; margin:0 0 1rem; }
.gs-sc .gs-final-cta-inner p{ color:rgba(255,255,255,.82); font-size:1.06rem; margin:0 0 1rem; line-height:1.65; }
.gs-sc .gs-final-cta-inner p strong{ color:#fff; }
.gs-sc .gs-final-cta-inner .gs-cta-row{ justify-content:center; margin-top:1.75rem; }

/* ── RESPONSIVE ── */
@media (max-width:900px){
  .gs-sc .gs-team-grid{ grid-template-columns:1fr; }
  .gs-sc .gs-about-coverage-grid{ grid-template-columns:1fr; gap:2rem; }
  .gs-sc .gs-mision-grid{ grid-template-columns:1fr; }
  .gs-sc .gs-split-media-stack{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .gs-sc .gs-split-media-stack{ grid-template-columns:1fr; }
}


/* ════════════════════════════════════════════════════════════
   BLOG — single post enhance + listado
   Añadido 2026-05-20 · mu-plugin gamosolar-blog-enhance.php
   ════════════════════════════════════════════════════════════ */

/* ── Ocultar bloque nativo de Kadence en single posts (lo reemplaza .gs-blog-hero) ── */
body.single-post .article-post-thumbnail,
body.single-post .post-thumbnail.article-post-thumbnail,
body.single-post .entry-content-wrap > .entry-header.post-title,
body.single-post .single-entry > .entry-content-wrap > .entry-header { display:none !important; }
/* Quitar padding del content para que el hero ocupe full-bleed */
body.single-post .entry-content.single-content { padding:0 !important; max-width:none !important; margin:0 !important; }
body.single-post .content-wrap > article { background:transparent !important; padding:0 !important; }
body.single-post .entry-content-wrap { padding:0 !important; }

/* ── HERO del artículo individual ── */
.gs-sc .gs-blog-hero{
  position:relative; color:#fff;
  padding:5rem 1.5rem 4.5rem; overflow:hidden;
  background:linear-gradient(160deg, var(--gs-blue-d) 0%, var(--gs-blue) 100%);
}
.gs-sc .gs-blog-hero-photo{
  background-color:var(--gs-blue-d);
  background-image:
    linear-gradient(160deg, rgba(0,38,77,.86) 0%, rgba(0,38,77,.74) 40%, rgba(0,61,122,.62) 100%),
    var(--gs-hero-img);
  background-size:cover; background-position:center; background-repeat:no-repeat;
}
.gs-sc .gs-blog-hero::before{
  content:""; position:absolute; inset:0;
  background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.06) 1px, transparent 0);
  background-size:32px 32px;
  mask-image:radial-gradient(ellipse at 20% 30%, #000 30%, transparent 75%);
  pointer-events:none;
}
.gs-sc .gs-blog-hero-inner{
  position:relative; z-index:2; max-width:840px;
  margin:0 auto; padding-top:.5rem;
}
.gs-sc .gs-blog-cat-chip{
  display:inline-flex; align-items:center;
  background:var(--gs-yellow); color:var(--gs-blue);
  padding:.4rem .9rem; border-radius:var(--gs-radius-pill);
  font-size:.78rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.06em; text-decoration:none; margin-bottom:1.25rem;
  box-shadow:0 6px 18px rgba(255,193,7,.28);
  transition:transform .2s, box-shadow .2s;
}
.gs-sc .gs-blog-cat-chip:hover{ transform:translateY(-1px); color:var(--gs-blue); box-shadow:0 10px 22px rgba(255,193,7,.40); }
.gs-sc .gs-blog-hero-title{
  color:#fff; font-size:clamp(1.85rem,4.5vw,3rem); font-weight:800;
  margin:0 0 1.5rem; line-height:1.15;
}
.gs-sc .gs-blog-meta{
  display:flex; flex-wrap:wrap; gap:1.5rem;
  color:rgba(255,255,255,.78); font-size:.92rem;
}
.gs-sc .gs-blog-meta-item{
  display:inline-flex; align-items:center; gap:.45rem;
}
.gs-sc .gs-blog-meta-item svg{ stroke:var(--gs-yellow); flex-shrink:0; }

/* ── Contenedor del contenido (envuelto en .gs-blog-content .gs-sc) ── */
.gs-sc.gs-blog-content{
  background:#fff; padding:3.5rem 0 4rem;
}
.gs-sc.gs-blog-content > *{
  max-width:740px; margin-left:auto; margin-right:auto;
  padding-left:1.5rem; padding-right:1.5rem;
}
.gs-sc.gs-blog-content h2{
  color:var(--gs-blue); font-size:clamp(1.45rem,2.6vw,1.85rem);
  font-weight:800; margin:2.5rem auto 1rem;
}
.gs-sc.gs-blog-content h3{
  color:var(--gs-blue); font-size:clamp(1.2rem,2vw,1.4rem);
  font-weight:700; margin:1.75rem auto .75rem;
}
.gs-sc.gs-blog-content p{ color:var(--gs-text); font-size:1.06rem; line-height:1.72; margin:0 auto 1rem; }
.gs-sc.gs-blog-content strong{ color:var(--gs-blue); }
.gs-sc.gs-blog-content a{ color:var(--gs-blue-l); text-decoration:underline; text-underline-offset:3px; }
.gs-sc.gs-blog-content a:hover{ color:var(--gs-blue); }
.gs-sc.gs-blog-content ul,
.gs-sc.gs-blog-content ol{
  color:var(--gs-text); font-size:1.04rem; line-height:1.7;
  padding-left:1.5rem; margin:0 auto 1.25rem;
}
.gs-sc.gs-blog-content ul li,
.gs-sc.gs-blog-content ol li{ margin:.35rem 0; }
.gs-sc.gs-blog-content blockquote{
  border-left:4px solid var(--gs-yellow); background:var(--gs-bg);
  padding:1rem 1.25rem; border-radius:0 var(--gs-radius-sm) var(--gs-radius-sm) 0;
  color:var(--gs-blue); font-style:italic; margin:1.25rem auto;
}
.gs-sc.gs-blog-content table{
  border-collapse:collapse; width:100%; font-size:.96rem;
  margin:1rem auto 1.5rem; max-width:740px;
  box-shadow:var(--gs-shadow-sm); border-radius:var(--gs-radius-sm); overflow:hidden;
}
.gs-sc.gs-blog-content th,
.gs-sc.gs-blog-content td{ padding:.65rem .85rem; text-align:left; border-bottom:1px solid var(--gs-border); }
.gs-sc.gs-blog-content th{ background:var(--gs-blue); color:#fff; font-weight:700; }
.gs-sc.gs-blog-content tr:last-child td{ border-bottom:0; }
.gs-sc.gs-blog-content img{ max-width:100%; height:auto; border-radius:var(--gs-radius); }

/* ── Barra de progreso de lectura (single post) ── */
.gs-read-progress{ position:fixed; top:0; left:0; right:0; height:3px; background:transparent; z-index:1001; pointer-events:none; }
.gs-read-progress span{ display:block; height:100%; width:0; background:var(--gs-yellow); box-shadow:0 0 8px rgba(255,193,7,.55); transition:width .12s linear; }

/* ── Compartir (banda blanca entre hero y contenido) ── */
.gs-sc .gs-blog-share{ background:#fff; }
.gs-sc .gs-blog-share-inner{
  max-width:740px; margin:0 auto; padding:1.6rem 1.5rem .25rem;
  display:flex; align-items:center; gap:.55rem; flex-wrap:wrap;
}
.gs-sc .gs-share-label{ font-size:.85rem; font-weight:700; color:var(--gs-text-soft); margin-right:.2rem; }
.gs-sc .gs-blog-share a,
.gs-sc .gs-blog-share button{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; padding:0; border-radius:50%;
  background:#fff; border:1.5px solid var(--gs-border); color:var(--gs-blue);
  cursor:pointer; transition:transform .18s, background .18s, color .18s, border-color .18s;
}
.gs-sc .gs-blog-share a:hover,
.gs-sc .gs-blog-share button:hover{ transform:translateY(-2px); background:var(--gs-blue); color:#fff; border-color:var(--gs-blue); }
.gs-sc .gs-blog-share svg{ width:18px; height:18px; }
.gs-sc .gs-share-feedback{ font-size:.82rem; font-weight:600; color:var(--gs-wa-d); opacity:0; transition:opacity .2s; margin-left:.1rem; }
.gs-sc .gs-blog-share.is-copied .gs-share-feedback{ opacity:1; }

/* ── Servicios relacionados (enlazado interno contextual) ── */
.gs-sc .gs-blog-services{ max-width:740px; margin:0 auto; padding:1.75rem 1.5rem 0; }
.gs-sc .gs-blog-services-inner{
  background:var(--gs-bg); border:1px solid var(--gs-border);
  border-radius:var(--gs-radius-lg); padding:1.5rem 1.5rem 1.6rem;
}
.gs-sc .gs-blog-services h3{ color:var(--gs-blue); font-size:1.08rem; font-weight:800; margin:0 0 .9rem; }
.gs-sc .gs-blog-services-list{ display:flex; flex-wrap:wrap; gap:.7rem; }
.gs-sc .gs-blog-services-list a{
  display:inline-flex; align-items:center; gap:.5rem; padding:.6rem 1rem;
  background:#fff; border:1.5px solid var(--gs-border); border-radius:var(--gs-radius-sm);
  color:var(--gs-blue); font-weight:600; font-size:.95rem; text-decoration:none;
  transition:border-color .18s, transform .18s, box-shadow .18s;
}
.gs-sc .gs-blog-services-list a:hover{ border-color:var(--gs-yellow); transform:translateY(-2px); box-shadow:var(--gs-shadow-sm); }
.gs-sc .gs-blog-services-list a::after{ content:"\2192"; color:var(--gs-yellow); font-weight:800; }

/* ── CTA al final del artículo ── */
.gs-sc .gs-blog-cta{
  background:linear-gradient(135deg, var(--gs-blue) 0%, var(--gs-blue-l) 100%);
  padding:3rem 0; color:#fff;
}
.gs-sc .gs-blog-cta-inner{
  display:grid; grid-template-columns:1.4fr 1fr; gap:2rem; align-items:center;
  max-width:1080px; margin:0 auto;
}
.gs-sc .gs-blog-cta-body h3{ color:#fff; font-size:1.55rem; font-weight:800; margin:0 0 .5rem; }
.gs-sc .gs-blog-cta-body p{ color:rgba(255,255,255,.82); margin:0; font-size:1rem; line-height:1.6; }
.gs-sc .gs-blog-cta-buttons{ display:flex; flex-wrap:wrap; gap:.85rem; justify-content:flex-end; }

/* ── Posts relacionados ── */
.gs-sc .gs-blog-related{
  background:var(--gs-bg); padding:4rem 0 4.5rem;
  border-top:1px solid var(--gs-border);
}
.gs-sc .gs-blog-related-head{ text-align:center; margin-bottom:2.5rem; }
.gs-sc .gs-blog-related-head h2{
  color:var(--gs-blue); font-size:clamp(1.5rem,3vw,2rem);
  font-weight:800; margin:.5rem 0 0;
}
.gs-sc .gs-blog-related-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:1.5rem;
}
.gs-sc .gs-blog-related-card{
  background:#fff; border:1px solid var(--gs-border); border-radius:var(--gs-radius-lg);
  overflow:hidden; display:flex; flex-direction:column;
  box-shadow:var(--gs-shadow-sm);
  transition:transform .25s cubic-bezier(.2,.7,.3,1.2), box-shadow .25s, border-color .25s;
}
.gs-sc .gs-blog-related-card:hover{ transform:translateY(-4px); box-shadow:var(--gs-shadow-lg); border-color:var(--gs-yellow); }
.gs-sc .gs-blog-related-thumb{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--gs-blue-d); display:block; }
.gs-sc .gs-blog-related-thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.gs-sc .gs-blog-related-card:hover .gs-blog-related-thumb img{ transform:scale(1.04); }
.gs-sc .gs-blog-related-body{ padding:1.25rem 1.35rem 1.5rem; display:flex; flex-direction:column; gap:.5rem; flex:1; }
.gs-sc .gs-blog-related-cat{
  display:inline-block; align-self:flex-start;
  background:rgba(0,61,122,.08); color:var(--gs-blue);
  padding:.25rem .65rem; border-radius:var(--gs-radius-pill);
  font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
}
.gs-sc .gs-blog-related-title{ margin:0; font-size:1.1rem; font-weight:700; line-height:1.35; }
.gs-sc .gs-blog-related-title a{
  color:var(--gs-blue); text-decoration:none;
}
.gs-sc .gs-blog-related-title a:hover{ color:var(--gs-blue-l); }

/* ── ARCHIVE HERO (listado /blog/, categorías, tags) ── */
.gs-sc.gs-archive-hero-wrap{ margin:0; padding:0; }
.gs-sc .gs-archive-hero{
  background:
    radial-gradient(120% 60% at 100% 0%, rgba(255,193,7,.16) 0%, rgba(255,193,7,0) 55%),
    linear-gradient(160deg, var(--gs-blue-d) 0%, var(--gs-blue) 60%, var(--gs-blue-l) 100%);
  color:#fff; padding:4.5rem 1.5rem 4rem; position:relative; overflow:hidden;
}
.gs-sc .gs-archive-hero::before{
  content:""; position:absolute; inset:0;
  background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.06) 1px, transparent 0);
  background-size:32px 32px;
  mask-image:radial-gradient(ellipse at 20% 30%, #000 30%, transparent 75%);
  pointer-events:none;
}
.gs-sc .gs-archive-hero-inner{
  position:relative; z-index:2; max-width:760px; margin:0 auto; text-align:center;
}
.gs-sc .gs-archive-hero-inner .gs-eyebrow{ color:var(--gs-yellow); justify-content:center; }
.gs-sc .gs-archive-hero-title{
  color:#fff; font-size:clamp(2rem,4.5vw,3.25rem); font-weight:800;
  margin:.6rem 0 1.2rem; line-height:1.1;
}
.gs-sc .gs-archive-hero-lead{
  color:rgba(255,255,255,.82); font-size:1.06rem; line-height:1.6; margin:0;
  max-width:620px; margin-left:auto; margin-right:auto;
}

/* Ocultar el hero nativo de Kadence en el archive (lo reemplaza .gs-archive-hero) */
body.blog section.entry-hero.post-archive-hero-section,
body.archive section.entry-hero.post-archive-hero-section,
body.category section.entry-hero.post-archive-hero-section,
body.tag section.entry-hero.post-archive-hero-section,
body.blog .post-archive-hero-section,
body.archive .post-archive-hero-section { display:none !important; }
body.blog .content-wrap > header.page-title-style-normal,
body.blog .content-wrap > header.entry-header-archive,
body.blog .content-wrap header.archive-header,
body.blog header.page-header.archive-header,
body.blog .content-wrap > header.entry-header { display:none !important; }

/* Pulido cards del listado: chip de categoría amarillo + título azul */
body.blog .loop-entry .entry-taxonomies .category-links a,
body.blog .loop-entry .term-links a,
body.archive .loop-entry .entry-taxonomies .category-links a,
body.archive .loop-entry .term-links a{
  display:inline-block;
  background:rgba(255,193,7,.18); color:var(--gs-blue,#003D7A) !important;
  padding:.28rem .7rem; border-radius:999px;
  font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
  text-decoration:none !important; transition:background .2s;
  border-bottom:0 !important;
}
body.blog .loop-entry .entry-taxonomies .category-links a:hover,
body.archive .loop-entry .entry-taxonomies .category-links a:hover{
  background:var(--gs-yellow,#FFC107);
}
body.blog .loop-entry .entry-title,
body.archive .loop-entry .entry-title{
  font-family:"Plus Jakarta Sans",-apple-system,sans-serif;
  letter-spacing:-.02em; line-height:1.25;
}
body.blog .loop-entry .entry-title a,
body.archive .loop-entry .entry-title a{
  color:var(--gs-blue,#003D7A) !important;
  text-decoration:none;
}
body.blog .loop-entry .entry-title a:hover,
body.archive .loop-entry .entry-title a:hover{ color:var(--gs-blue-l,#0A56A8) !important; }
body.blog .loop-entry .entry,
body.archive .loop-entry .entry{
  border-radius:18px; overflow:hidden; transition:transform .25s, box-shadow .25s, border-color .25s;
}
body.blog .loop-entry .entry:hover,
body.archive .loop-entry .entry:hover{
  transform:translateY(-4px);
}

/* ── Responsive ── */
@media (max-width:780px){
  .gs-sc .gs-blog-cta-inner{ grid-template-columns:1fr; text-align:center; }
  .gs-sc .gs-blog-cta-buttons{ justify-content:center; }
  .gs-sc .gs-blog-hero{ padding:3.75rem 1.5rem 3.25rem; }
  .gs-sc.gs-blog-content{ padding:2.5rem 0 3rem; }
  .gs-sc .gs-archive-hero{ padding:3rem 1.5rem 2.75rem; }
}

/* ── PlaceAutocompleteElement (Google Places nueva API post mar-2025) ── */
gmp-place-autocomplete {
  --gmpx-font-family-base: Inter, -apple-system, system-ui, sans-serif;
  --gmpx-font-size-base: 1rem;
  --gmpx-color-surface: #ffffff;
  --gmpx-color-on-surface: #4a5568;
  --gmpx-color-on-surface-variant: #718096;
  --gmpx-color-outline: #cbd5e0;
  --gmpx-color-primary: #003D7A;
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  height: 41px;
  border: 1.5px solid #cbd5e0;
  border-radius: 3px;
  background: #fff;
  box-sizing: border-box;
  overflow: hidden;
}
gmp-place-autocomplete:focus-within {
  border-color: #003D7A;
  box-shadow: 0 0 0 3px rgba(0,61,122,.15);
  outline: none;
}


/* ════════════════════════════════════════════════════════════════
   GS-SC-ADD-20260526 · Componentes añadidos (Servicios Compl. + CEE/CAE + Proyectos home)
   ════════════════════════════════════════════════════════════════ */

/* ── Acento de color propio por servicio (sólo tarjetas con --acc inline) ── */
.gs-sc .gs-card[style*="--acc"]::before{ background:linear-gradient(90deg, transparent 0%, var(--acc) 50%, transparent 100%); }
.gs-sc .gs-card[style*="--acc"] .gs-num{ color:var(--acc); opacity:.5; }
.gs-sc .gs-card[style*="--acc"] .gs-icon{ background:linear-gradient(135deg, color-mix(in srgb, var(--acc) 8%, #fff) 0%, color-mix(in srgb, var(--acc) 18%, #fff) 100%); }
.gs-sc .gs-card[style*="--acc"] .gs-icon svg{ stroke:var(--acc); }
.gs-sc .gs-card[style*="--acc"]:hover{ box-shadow:0 20px 50px color-mix(in srgb, var(--acc) 22%, transparent); border-color:color-mix(in srgb, var(--acc) 35%, var(--gs-border)); }
.gs-sc .gs-card[style*="--acc"]:hover .gs-icon{ background:linear-gradient(135deg, var(--acc) 0%, var(--acc-d, var(--acc)) 100%); }
.gs-sc .gs-card[style*="--acc"]:hover .gs-icon svg{ stroke:#fff; }
.gs-sc .gs-card[style*="--acc"] a.gs-card-cta{ color:var(--acc); }
.gs-sc .gs-card[style*="--acc"] a.gs-card-cta:hover{ color:var(--acc-d, var(--acc)); }
/* preservar el aspecto de la tarjeta destacada (CEE) */
.gs-sc .gs-card.gs-card-featured[style*="--acc"] .gs-num{ color:var(--gs-yellow); opacity:.7; }
.gs-sc .gs-card.gs-card-featured[style*="--acc"] .gs-icon{ background:rgba(255,193,7,.18); }
.gs-sc .gs-card.gs-card-featured[style*="--acc"]:hover .gs-icon{ background:rgba(255,193,7,.28); }
.gs-sc .gs-card.gs-card-featured[style*="--acc"] .gs-icon svg{ stroke:var(--gs-yellow); }
.gs-sc .gs-tagline{ display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--acc, var(--gs-blue)); background:color-mix(in srgb, var(--acc, var(--gs-blue)) 10%, #fff); border:1px solid color-mix(in srgb, var(--acc, var(--gs-blue)) 22%, #fff); padding:.22rem .6rem; border-radius:999px; margin-bottom:1rem; }

/* ── Bloques destacados (split foto + contenido) · Servicios Complementarios ── */
.gs-sc .gs-features{ background:#fff; border-top:1px solid var(--gs-border); padding:4.5rem 0 5rem; }
.gs-sc .gs-features-head{ text-align:center; margin-bottom:3rem; }
.gs-sc .gs-features-head h2{ color:var(--gs-blue); font-size:clamp(1.75rem,3.5vw,2.4rem); margin-bottom:1rem; }
.gs-sc .gs-features-head p{ color:var(--gs-text-soft); max-width:660px; margin:0 auto; font-size:1.05rem; }
.gs-sc .gs-feature{ display:grid; grid-template-columns:1.05fr 1fr; gap:0; background:#fff; border:1px solid var(--gs-border); border-radius:var(--gs-radius-lg); overflow:hidden; box-shadow:var(--gs-shadow-md); margin-bottom:2.5rem; }
.gs-sc .gs-feature:last-child{ margin-bottom:0; }
.gs-sc .gs-feature-media{ position:relative; min-height:340px; }
.gs-sc .gs-feature-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.gs-sc .gs-feature-media .gs-feature-tag{ position:absolute; top:1.1rem; left:1.1rem; z-index:2; background:rgba(255,255,255,.95); color:var(--gs-blue); font-family:"Plus Jakarta Sans",sans-serif; font-weight:700; font-size:.82rem; padding:.45rem .85rem; border-radius:999px; box-shadow:0 6px 18px rgba(0,0,0,.18); display:inline-flex; align-items:center; gap:.45rem; }
.gs-sc .gs-feature-media .gs-feature-tag::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--gs-yellow); box-shadow:0 0 10px var(--gs-yellow); }
.gs-sc .gs-feature-body{ padding:2.75rem; }
.gs-sc .gs-feature--rev .gs-feature-media{ order:2; }
.gs-sc .gs-feature--rev .gs-feature-body{ order:1; }
.gs-sc .gs-feature-body h3{ color:var(--gs-blue); font-size:clamp(1.4rem,2.6vw,1.85rem); font-weight:800; margin:.35rem 0 .9rem; }
.gs-sc .gs-feature-body > p{ color:var(--gs-text-soft); font-size:1rem; line-height:1.65; margin:0 0 1.4rem; }
.gs-sc .gs-feature-list{ list-style:none; margin:0 0 1.75rem; padding:0; display:grid; gap:.7rem; }
.gs-sc .gs-feature-list li{ position:relative; padding-left:1.9rem; color:var(--gs-text); font-size:.95rem; line-height:1.5; }
.gs-sc .gs-feature-list li::before{ content:""; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:6px; background:linear-gradient(135deg, var(--gs-yellow) 0%, var(--gs-yellow-d) 100%); }
.gs-sc .gs-feature-list li::after{ content:""; position:absolute; left:5px; top:6px; width:9px; height:5px; border-left:2px solid var(--gs-blue); border-bottom:2px solid var(--gs-blue); transform:rotate(-45deg); }
.gs-sc .gs-feature-cta{ display:inline-flex; align-items:center; gap:.55rem; padding:.9rem 1.6rem; border-radius:10px; font-weight:700; text-decoration:none; font-size:.96rem; background:linear-gradient(135deg, #FFC107 0%, #FFD54F 100%); color:var(--gs-blue); box-shadow:0 8px 24px rgba(255,193,7,.3); transition:transform .2s, box-shadow .2s; }
.gs-sc .gs-feature-cta:hover{ transform:translateY(-2px); box-shadow:0 14px 32px rgba(255,193,7,.42); }
.gs-sc .gs-feature-note{ display:block; margin-top:.9rem; font-size:.85rem; color:var(--gs-text-soft); }

/* ── Página CEE/CAE ── */
.gs-sc .gs-hero-grid{ position:relative; z-index:3; display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:center; }
.gs-sc .gs-hero-media{ position:relative; }
.gs-sc .gs-hero-media img{ width:100%; height:auto; display:block; border-radius:var(--gs-radius-lg); box-shadow:0 30px 60px rgba(0,0,0,.35); }
.gs-sc .gs-hero-media .gs-hero-chip{ position:absolute; bottom:-1rem; left:-1rem; background:#fff; color:var(--gs-blue); border-radius:14px; padding:.85rem 1.15rem; box-shadow:var(--gs-shadow-lg); display:flex; align-items:center; gap:.7rem; font-weight:700; font-family:"Plus Jakarta Sans",sans-serif; font-size:.92rem; }
.gs-sc .gs-hero-media .gs-hero-chip svg{ width:26px; height:26px; stroke:var(--gs-yellow-d); stroke-width:2; fill:none; }
.gs-sc .gs-facts{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin:-3.5rem auto 0; position:relative; z-index:5; max-width:1000px; }
.gs-sc .gs-fact{ background:#fff; border:1px solid var(--gs-border); border-radius:var(--gs-radius); padding:1.5rem 1.25rem; text-align:center; box-shadow:var(--gs-shadow-md); }
.gs-sc .gs-fact strong{ display:block; font-family:"Plus Jakarta Sans",sans-serif; font-size:1.55rem; font-weight:800; color:var(--gs-blue); line-height:1.1; margin-bottom:.3rem; }
.gs-sc .gs-fact span{ font-size:.85rem; color:var(--gs-text-soft); }
.gs-sc .gs-section{ padding:4.5rem 0; }
.gs-sc .gs-section.alt{ background:#fff; border-top:1px solid var(--gs-border); border-bottom:1px solid var(--gs-border); }
.gs-sc .gs-cee-split{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.gs-sc .gs-cee-split h2{ color:var(--gs-blue); font-size:clamp(1.6rem,3.2vw,2.25rem); margin-bottom:1.1rem; font-weight:800; }
.gs-sc .gs-cee-split > div > p{ color:var(--gs-text-soft); font-size:1.02rem; margin:0 0 1.1rem; }
.gs-sc .gs-tick{ list-style:none; margin:1.25rem 0 0; padding:0; display:grid; gap:.7rem; }
.gs-sc .gs-tick li{ position:relative; padding-left:1.9rem; color:var(--gs-text); font-size:.97rem; line-height:1.5; }
.gs-sc .gs-tick li::before{ content:""; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:6px; background:linear-gradient(135deg, var(--gs-yellow) 0%, var(--gs-yellow-d) 100%); }
.gs-sc .gs-tick li::after{ content:""; position:absolute; left:5px; top:6px; width:9px; height:5px; border-left:2px solid var(--gs-blue); border-bottom:2px solid var(--gs-blue); transform:rotate(-45deg); }
.gs-sc .gs-visual{ background:linear-gradient(160deg, #00264D 0%, #003D7A 100%); border-radius:var(--gs-radius-lg); padding:2.5rem; color:#fff; box-shadow:var(--gs-shadow-lg); }
.gs-sc .gs-visual.gs-visual-light{ background:#fff; border:1px solid var(--gs-border); color:var(--gs-text); }
.gs-sc .gs-scale{ display:flex; flex-direction:column; gap:.5rem; }
.gs-sc .gs-scale-row{ display:flex; align-items:center; gap:.75rem; }
.gs-sc .gs-scale-bar{ height:30px; border-radius:6px; display:flex; align-items:center; padding:0 .85rem; color:#fff; font-weight:800; font-family:"Plus Jakarta Sans",sans-serif; font-size:.92rem; }
.gs-sc .gs-scale-cap{ font-size:.86rem; color:rgba(255,255,255,.8); }
.gs-sc .gs-compare{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:2.5rem; }
.gs-sc .gs-compare-card{ background:#fff; border:1px solid var(--gs-border); border-radius:var(--gs-radius-lg); padding:2rem 1.9rem; position:relative; overflow:hidden; }
.gs-sc .gs-compare-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--cc, var(--gs-blue)); }
.gs-sc .gs-compare-card .gs-cc-tag{ display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:var(--cc, var(--gs-blue)); padding:.28rem .7rem; border-radius:999px; margin-bottom:1rem; }
.gs-sc .gs-compare-card.cae .gs-cc-tag{ color:var(--gs-blue); }
.gs-sc .gs-compare-card h3{ color:var(--gs-blue); font-size:1.3rem; margin-bottom:.4rem; }
.gs-sc .gs-compare-card .gs-cc-sub{ color:var(--gs-text-soft); font-size:.92rem; margin:0 0 1.2rem; }
.gs-sc .gs-compare-card ul{ list-style:none; margin:0; padding:0; display:grid; gap:.65rem; }
.gs-sc .gs-compare-card ul li{ position:relative; padding-left:1.6rem; font-size:.94rem; color:var(--gs-text); line-height:1.5; }
.gs-sc .gs-compare-card ul li::before{ content:""; position:absolute; left:0; top:7px; width:8px; height:8px; border-radius:50%; background:var(--cc, var(--gs-blue)); }
.gs-sc .gs-article-link{ display:flex; align-items:center; gap:1.25rem; background:#fff; border:1px solid var(--gs-border); border-left:5px solid var(--gs-yellow); border-radius:var(--gs-radius); padding:1.4rem 1.6rem; margin-top:2rem; text-decoration:none; transition:transform .2s, box-shadow .2s; }
.gs-sc .gs-article-link:hover{ transform:translateX(4px); box-shadow:var(--gs-shadow-md); }
.gs-sc .gs-article-link .gs-al-ico{ width:46px; height:46px; flex-shrink:0; border-radius:12px; background:linear-gradient(135deg, var(--gs-blue) 0%, var(--gs-blue-l) 100%); display:flex; align-items:center; justify-content:center; }
.gs-sc .gs-article-link .gs-al-ico svg{ width:22px; height:22px; stroke:var(--gs-yellow); stroke-width:2; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.gs-sc .gs-article-link .gs-al-txt strong{ display:block; color:var(--gs-blue); font-family:"Plus Jakarta Sans",sans-serif; font-size:1.02rem; margin-bottom:.15rem; }
.gs-sc .gs-article-link .gs-al-txt span{ color:var(--gs-text-soft); font-size:.9rem; }
.gs-sc .gs-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; margin-top:1rem; }
.gs-sc .gs-step-card{ background:#fff; border:1px solid var(--gs-border); border-radius:var(--gs-radius); padding:1.75rem 1.5rem; position:relative; transition:transform .2s, box-shadow .2s; }
.gs-sc .gs-step-card:hover{ transform:translateY(-4px); box-shadow:var(--gs-shadow-md); }
.gs-sc .gs-step-card .gs-sc-n{ width:40px; height:40px; border-radius:10px; background:linear-gradient(135deg, var(--gs-yellow) 0%, var(--gs-yellow-d) 100%); color:var(--gs-blue); font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.gs-sc .gs-step-card h3,.gs-sc .gs-step-card h4{ color:var(--gs-blue); font-size:1.02rem; margin-bottom:.4rem; }
.gs-sc .gs-step-card p{ color:var(--gs-text-soft); font-size:.9rem; margin:0; line-height:1.5; }
.gs-sc .gs-head{ text-align:center; max-width:760px; margin:0 auto 3rem; }
.gs-sc .gs-head h2{ color:var(--gs-blue); font-size:clamp(1.7rem,3.4vw,2.35rem); margin-bottom:1rem; }
.gs-sc .gs-head p{ color:var(--gs-text-soft); font-size:1.05rem; margin:0; }
.gs-sc .gs-faq-item .gs-faq-body a{ color:var(--gs-blue-l); font-weight:600; }

/* ── Proyectos reales (home) ── */
.gs-sc .gs-projects{ padding:4.5rem 0 1rem; }
.gs-sc .gs-projects-head{ text-align:center; max-width:720px; margin:0 auto 2.75rem; }
.gs-sc .gs-projects-head h2{ color:var(--gs-blue); font-size:clamp(1.7rem,3.4vw,2.35rem); margin-bottom:1rem; }
.gs-sc .gs-projects-head p{ color:var(--gs-text-soft); font-size:1.05rem; margin:0; }
.gs-sc .gs-projects-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.gs-sc .gs-project{ position:relative; margin:0; border-radius:var(--gs-radius-lg); overflow:hidden; box-shadow:var(--gs-shadow-md); aspect-ratio:4/3; }
.gs-sc .gs-project img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s cubic-bezier(.2,.7,.3,1); }
.gs-sc .gs-project:hover img{ transform:scale(1.06); }
.gs-sc .gs-project figcaption{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:1.4rem; background:linear-gradient(180deg, rgba(0,38,77,0) 35%, rgba(0,38,77,.82) 100%); color:#fff; }
.gs-sc .gs-project .gs-project-tag{ align-self:flex-start; background:var(--gs-yellow); color:var(--gs-blue); font-family:"Plus Jakarta Sans",sans-serif; font-weight:700; font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; padding:.28rem .7rem; border-radius:999px; margin-bottom:.6rem; }
.gs-sc .gs-project strong{ font-family:"Plus Jakarta Sans",sans-serif; font-size:1.08rem; line-height:1.25; font-weight:700; }

/* ── Responsive de los componentes nuevos ── */
@media (max-width:920px){
  .gs-sc .gs-hero-grid, .gs-sc .gs-cee-split{ grid-template-columns:1fr; gap:2rem; }
  .gs-sc .gs-hero-media{ order:-1; max-width:480px; margin-left:auto; margin-right:auto; }
  .gs-sc .gs-facts{ grid-template-columns:repeat(2,1fr); }
  .gs-sc .gs-compare{ grid-template-columns:1fr; }
  .gs-sc .gs-steps{ grid-template-columns:repeat(2,1fr); }
  .gs-sc .gs-feature{ grid-template-columns:1fr; }
  .gs-sc .gs-feature-media{ min-height:240px; }
  .gs-sc .gs-feature--rev .gs-feature-media{ order:0; }
  .gs-sc .gs-feature--rev .gs-feature-body{ order:0; }
  .gs-sc .gs-feature-body{ padding:2rem 1.75rem; }
  .gs-sc .gs-projects-grid{ grid-template-columns:1fr; max-width:460px; margin:0 auto; }
}
@media (max-width:560px){
  .gs-sc .gs-facts{ grid-template-columns:1fr 1fr; }
  .gs-sc .gs-steps{ grid-template-columns:1fr; }
}

/* Movil: hero de cargadores (page 273) - enfocar el cargador, no el tubo */
@media (max-width:768px){
  body.page-id-273 .gs-sc .gs-hero-photo{ background-position:68% 34%; }
}

/* Interlinking de zonas (paginas de ciudad) */
.gs-citylinks{ background:#f4f7fb; border-top:1px solid #e5e7eb; padding:2.75rem 1rem; }
.gs-citylinks-inner{ max-width:1000px; margin:0 auto; text-align:center; }
.gs-citylinks-title{ color:var(--gs-blue,#003D7A); font-size:1.35rem; font-weight:800; margin:0 0 .5rem; }
.gs-citylinks-sub{ color:var(--gs-text-soft,#374151); margin:0 0 1.25rem; font-size:1rem; }
.gs-citylinks-list{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; }
.gs-citylinks-list a{ display:inline-block; padding:.55rem 1.1rem; background:#fff; border:1px solid var(--gs-blue,#003D7A); color:var(--gs-blue,#003D7A); border-radius:var(--gs-radius-pill,999px); text-decoration:none; font-weight:600; font-size:.92rem; transition:background .2s ease,color .2s ease; }
.gs-citylinks-list a:hover{ background:var(--gs-blue,#003D7A); color:#fff; }

/* ════════════════════════════════════════════════════════════
   GS-SC-A11Y-20260731 — Correcciones de contraste (WCAG 2.1 AA)
   Auditoría del 31/07/2026. Ratios calculados, no estimados.
   ════════════════════════════════════════════════════════════ */

/* El rótulo de sección hereda azul claro (--gs-blue-l), pensado para fondo
   blanco. Sobre la banda azul de .gs-doc-section daba 1,49:1 — ilegible.
   Amarillo de marca sobre azul: 6,61:1. */
.gs-doc-section .gs-section-label{ color:var(--gs-yellow); }

/* Estrellas de testimonios: amarillo #FFC107 sobre crema #FAFAF7 = 1,56:1.
   Ámbar oscuro #A16207 = 4,71:1 y conserva la lectura "dorada".
   (El valor semántico ya lo da el aria-label "Valoración 5 de 5".) */
.gs-sc .gs-testimonial-stars{ color:#A16207; }

/* Botones del banner de cookies (plugin Adapta RGPD, no editable): su azul
   daba 3,80:1 con el texto blanco. Azul de marca: 10,78:1. El !important es
   necesario porque el plugin inyecta sus estilos con inline/IDs. */
#cookies-eu-banner #cookies-eu-accept,
#cookies-eu-banner #cookies-eu-reject{
  background:var(--gs-blue,#003D7A) !important;
  color:#fff !important;
  border-color:var(--gs-blue,#003D7A) !important;
}
#cookies-eu-banner #cookies-eu-accept:hover,
#cookies-eu-banner #cookies-eu-reject:hover{
  background:var(--gs-blue-d,#00264D) !important;
}



/* ============================================================
   SERVICIOS v2 (2026-07-31) - hub + instalacion + ingenieria
   ============================================================ */
/* Página servicios (gs-page-svc) */
.gs-sc .gs-svc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.gs-sc .gs-svc-hero{position:relative;overflow:hidden;padding:6.5rem 0 4rem;background-color:var(--gs-surface);background-image: linear-gradient(180deg,#fafaf700 45%,var(--gs-bg) 100%),linear-gradient(#003d7a09 1px,transparent 1px),linear-gradient(90deg,#003d7a09 1px,transparent 1px),linear-gradient(#003d7a12 1px,transparent 1px),linear-gradient(90deg,#003d7a12 1px,transparent 1px);background-size:auto,24px 24px,24px 24px,120px 120px,120px 120px;}
.gs-sc .gs-svc-arcs{position:absolute;top:0;right:0;width:clamp(180px,30vw,320px);height:auto;pointer-events:none;}
.gs-sc .gs-svc-hero .gs-wrap{position:relative;}
.gs-sc .gs-svc-hero h1{font-size:clamp(1.9rem,5vw,3.4rem);font-weight:800;line-height:1.15;color:var(--gs-blue);margin:.5rem 0 1.25rem;}
.gs-sc .gs-svc-stroke{position:relative;display:inline-block;white-space:nowrap;}
.gs-sc .gs-svc-stroke::after{content:"";position:absolute;left:-2%;right:-2%;bottom:-.08em;height:.22em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M3 9C50 3 150 3 197 7' fill='none' stroke='%23FFC107' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;}
.gs-sc .gs-svc-lead{font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--gs-text-soft);max-width:62ch;margin:0;}
.gs-sc .gs-svc-cota{display:flex;align-items:center;gap:.75rem;max-width:560px;margin-top:2.25rem;position:relative;color:var(--gs-blue-l);}
.gs-sc .gs-svc-tick{flex:none;width:2px;height:16px;background:currentColor;}
.gs-sc .gs-svc-linea{flex:1;height:1px;background:currentColor;min-width:24px;}
.gs-sc .gs-svc-cota-label{flex:none;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;}
.gs-sc .gs-svc-gamo{position:absolute;right:22px;bottom:calc(50% - 1px);width:52px;height:auto;pointer-events:none;}
.gs-sc .gs-svc-seg-wrap{display:flex;justify-content:center;padding-top:2.5rem;}
.gs-sc .gs-svc-seg{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:.25rem;background:#F1F5F9;border:1px solid var(--gs-border);border-radius:var(--gs-radius-pill);padding:.25rem;}
.gs-sc .gs-svc-seg-btn{appearance:none;border:0;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;line-height:1.2;color:var(--gs-blue);background:transparent;min-height:48px;padding:.75rem 1.5rem;border-radius:var(--gs-radius-pill);transition:background .15s ease,color .15s ease,box-shadow .15s ease;}
.gs-sc .gs-svc-seg-btn:hover{background:#fff;}
.gs-sc .gs-svc-seg-btn[aria-pressed="true"]{background:var(--gs-blue);color:#fff;box-shadow:var(--gs-shadow-sm);}
.gs-sc .gs-svc-seg-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gs-yellow);}
.gs-sc .gs-svc-split{display:grid;grid-template-columns:1fr;gap:1.5rem;padding:2rem 0 4rem;}
.gs-sc .gs-svc-branch{position:relative;border-radius:var(--gs-radius-lg);padding:2rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--gs-shadow-md);border:1px solid var(--gs-border);transition:transform .25s ease,box-shadow .25s ease,opacity .25s ease,border-color .25s ease;}
.gs-sc .gs-svc-branch:hover{transform:translateY(-2px);box-shadow:var(--gs-shadow-lg);}
.gs-sc .gs-svc-branch.is-active{transform:scale(1.02);box-shadow:var(--gs-shadow-lg);border-color:var(--gs-yellow);}
.gs-sc .gs-svc-branch.is-dim{opacity:.55;}
.gs-sc .gs-svc-branch-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--gs-text-soft);display:inline-flex;align-items:center;gap:.5rem;}
.gs-sc .gs-svc-branch-kicker::before{content:"";width:20px;height:3px;background:var(--gs-yellow);border-radius:var(--gs-radius-pill);}
.gs-sc .gs-svc-branch h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.2;color:var(--gs-blue);}
.gs-sc .gs-svc-branch-desc{color:var(--gs-text-soft);margin:0;}
.gs-sc .gs-svc-branch-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem;}
.gs-sc .gs-svc-branch-list li{display:flex;gap:.75rem;align-items:flex-start;font-size:.95rem;}
.gs-sc .gs-svc-branch-cta{margin-top:auto;padding-top:1rem;}
.gs-sc .gs-svc-branch--inst{background:var(--gs-surface);overflow:hidden;padding-top:calc(2rem + 8px);}
.gs-sc .gs-svc-branch--inst::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:linear-gradient(90deg,var(--gs-yellow-d) 0 56px,var(--gs-yellow) 56px);}
.gs-sc .gs-svc-ic{flex:none;width:22px;height:22px;margin-top:2px;fill:none;stroke:var(--gs-blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.gs-sc .gs-svc-branch--ing{color:#fff;border-color:#ffffff14;background-color:var(--gs-blue);background-image: linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px),linear-gradient(#ffffff17 1px,transparent 1px),linear-gradient(90deg,#ffffff17 1px,transparent 1px),linear-gradient(160deg,var(--gs-blue) 0%,var(--gs-blue-d) 100%);background-size:24px 24px,24px 24px,120px 120px,120px 120px,auto;}
.gs-sc .gs-svc-branch--ing .gs-svc-branch-kicker{color:var(--gs-yellow);}
.gs-sc .gs-svc-branch--ing h2{color:#fff;}
.gs-sc .gs-svc-branch--ing .gs-svc-branch-desc{color:#ffffffe6;}
.gs-sc .gs-svc-branch--ing .gs-svc-branch-list li::before{content:"✓";flex:none;width:22px;height:22px;border-radius:50%;background:var(--gs-yellow);color:var(--gs-blue);font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.gs-sc .gs-svc-badge{display:inline-block;vertical-align:middle;background:var(--gs-yellow);color:var(--gs-blue);font-size:.7rem;font-weight:700;letter-spacing:.02em;padding:4px 10px;border-radius:var(--gs-radius-pill);transform:translateY(-2px);}
.gs-sc .gs-svc-sello{align-self:flex-start;display:inline-flex;flex-direction:column;gap:2px;text-align:center;padding:.5rem .75rem;border:2px solid #ffd54fe6;border-radius:6px;position:relative;transform:rotate(-3deg);color:var(--gs-yellow-l);margin-bottom:.25rem;}
.gs-sc .gs-svc-sello::after{content:"";position:absolute;inset:3px;border:1px solid #ffd54f8c;border-radius:3px;pointer-events:none;}
.gs-sc .gs-svc-sello-l1{font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.gs-sc .gs-svc-sello-l2{font-size:.66rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;}
.gs-sc .gs-svc-cta-line{background:transparent;color:var(--gs-blue);border:2px solid var(--gs-blue);box-shadow:none;}
.gs-sc .gs-svc-cta-line:hover{background:var(--gs-blue);color:#fff;transform:translateY(-2px);}
.gs-sc .gs-svc-cta-line:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gs-yellow);}
.gs-sc .gs-svc-trust{padding:4rem 0;text-align:center;color:#fff;background-color:var(--gs-blue-d);background-image: linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px),linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);background-size:24px 24px,24px 24px,120px 120px,120px 120px;}
.gs-sc .gs-svc-trust-kicker{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--gs-yellow);margin:0;}
.gs-sc .gs-svc-makers{margin:1rem 0 0;font-size:clamp(1rem,2.2vw,1.35rem);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#ffffffeb;}
.gs-sc .gs-svc-dot{color:var(--gs-yellow);margin:0 .55em;font-weight:700;}
.gs-sc .gs-svc-metrics{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:3rem;}
.gs-sc .gs-svc-metric{display:flex;flex-direction:column;align-items:center;}
.gs-sc .gs-svc-metric strong{font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(2rem,4.5vw,2.8rem);font-weight:800;line-height:1.05;letter-spacing:-.01em;color:var(--gs-yellow);font-variant-numeric:tabular-nums;}
.gs-sc .gs-svc-metric .gs-svc-metric-sm{font-size:clamp(1.4rem,3vw,1.9rem);padding-top:.35em;}
.gs-sc .gs-svc-metric-cota{display:flex;align-items:center;gap:.5rem;width:min(220px,80%);margin:.75rem 0 .5rem;color:#ffffff80;}
.gs-sc .gs-svc-metric-cota .gs-svc-tick{height:12px;}
.gs-sc .gs-svc-metric-label{max-width:30ch;font-size:.9rem;color:#ffffffd9;}
.gs-sc .gs-svc-bridge{padding:1rem 0 5rem;text-align:center;}
.gs-sc .gs-svc-quote{font-size:clamp(1.35rem,2.8vw,1.8rem);font-weight:800;line-height:1.3;color:var(--gs-blue);max-width:26ch;margin:0 auto;}
.gs-sc .gs-svc-bridge-text{max-width:56ch;margin:1rem auto 2rem;color:var(--gs-text-soft);font-size:1.05rem;}
.gs-sc .gs-svc-cta-center{justify-content:center;}
.gs-sc .gs-svc-firma{margin-top:3rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;}
.gs-sc .gs-svc-firma-logo{height:40px;width:auto;}
.gs-sc .gs-svc-rubrica{width:200px;height:auto;}
.gs-sc .gs-svc-sign{font-style:italic;font-weight:600;color:var(--gs-blue);margin:0;}
.gs-sc .gs-svc-contact{font-size:.85rem;color:var(--gs-text-soft);margin:0;}
.gs-sc .gs-svc-contact a{color:var(--gs-blue);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.gs-sc .gs-svc-contact a:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gs-yellow);border-radius:4px;}
@media (min-width:640px){
  .gs-sc .gs-svc-sello{position:absolute;top:1.5rem;right:1.5rem;margin:0;transform:rotate(7deg);}
}
@media (min-width:768px){
  .gs-sc .gs-svc-split{grid-template-columns:1fr 1fr;gap:2rem;}
  .gs-sc .gs-svc-metrics{grid-template-columns:repeat(3,1fr);gap:1.5rem;}
}
@media (prefers-reduced-motion:reduce){
  .gs-sc .gs-svc-branch,
  .gs-sc .gs-svc-seg-btn,
  .gs-sc .gs-svc-cta-line{transition:none;}
  .gs-sc .gs-svc-branch:hover,
  .gs-sc .gs-svc-branch.is-active,
  .gs-sc .gs-svc-cta-line:hover{transform:none;}
}
/* Página instalacion (gs-page-inst) */
.gs-sc .gs-inst-arcs{position:absolute;top:-3rem;right:-2rem;width:min(420px,55vw);height:auto;pointer-events:none;opacity:.8;z-index:1;}
.gs-sc .gs-inst-cota{display:block;height:9px;max-width:160px;border-left:1px solid currentColor;border-right:1px solid currentColor;position:relative;opacity:.55;margin-bottom:.5rem;}
.gs-sc .gs-inst-cota::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid currentColor;}
.gs-sc .gs-inst-metrics{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:4rem;max-width:900px;position:relative;z-index:3;color:#fff;}
.gs-sc .gs-inst-metric strong{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:2rem;font-weight:800;line-height:1.1;color:var(--gs-yellow);letter-spacing:-.02em;}
.gs-sc .gs-inst-metric span{display:block;font-size:.88rem;color:rgba(255,255,255,.72);max-width:28ch;margin-top:.25rem;}
.gs-sc .gs-inst-metric .gs-inst-cota{color:rgba(255,255,255,.7);}
/* Estimador */
.gs-sc .gs-inst-est-sec{padding:4rem 0 1rem;background:var(--gs-bg);scroll-margin-top:6rem;}
.gs-sc .gs-inst-est{background:#fff;border:1px solid var(--gs-border);border-top:3px solid var(--gs-yellow);border-radius:var(--gs-radius-lg);padding:2rem 1.75rem;box-shadow:var(--gs-shadow-md);}
.gs-sc .gs-inst-est-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;color:var(--gs-blue);font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.5rem;}
.gs-sc .gs-inst-est-title img{width:48px;height:auto;flex:none;transform:translateY(-4px);}
.gs-sc .gs-inst-est-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center;margin-top:1rem;}
.gs-sc .gs-inst-est-label{display:block;font-weight:600;color:var(--gs-text);}
.gs-sc .gs-inst-est-label strong{color:var(--gs-blue);font-size:1.15rem;font-variant-numeric:tabular-nums;}
.gs-sc .gs-inst-est-range{width:100%;height:48px;margin:.5rem 0 0;background:transparent;accent-color:var(--gs-yellow);-webkit-appearance:none;appearance:none;cursor:pointer;}
.gs-sc .gs-inst-est-range::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:var(--gs-border);}
.gs-sc .gs-inst-est-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;margin-top:-9px;border-radius:50%;background:var(--gs-yellow);border:3px solid var(--gs-blue);box-shadow:var(--gs-shadow-sm);}
.gs-sc .gs-inst-est-range::-moz-range-track{height:8px;border-radius:999px;background:var(--gs-border);}
.gs-sc .gs-inst-est-range::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--gs-yellow);border:3px solid var(--gs-blue);}
.gs-sc .gs-inst-est-range:focus-visible{outline:none;}
.gs-sc .gs-inst-est-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px rgba(255,193,7,.45);}
.gs-sc .gs-inst-est-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px rgba(255,193,7,.45);}
.gs-sc .gs-inst-est-scale{display:flex;justify-content:space-between;font-size:.75rem;color:var(--gs-text-soft);margin-top:.25rem;}
.gs-sc .gs-inst-est-result{background:var(--gs-bg);border:1px dashed var(--gs-border);border-radius:var(--gs-radius);padding:1.5rem;}
.gs-sc .gs-inst-est-frase{display:block;font-size:1.08rem;color:var(--gs-text-soft);}
.gs-sc .gs-inst-est-frase strong{color:var(--gs-blue);font-variant-numeric:tabular-nums;white-space:nowrap;}
.gs-sc .gs-inst-est-nota{font-size:.85rem;color:var(--gs-text-soft);margin:1rem 0 0;}
.gs-sc .gs-inst-est-cta{margin:1.25rem 0 0;}
/* Materiales */
.gs-sc .gs-inst-mat{padding:4rem 0 4.5rem;background:linear-gradient(180deg,var(--gs-bg) 0%,#fff 100%);text-align:center;}
.gs-sc .gs-inst-mat h2{color:var(--gs-blue);font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:800;margin:0 auto 1.25rem;max-width:800px;}
.gs-sc .gs-inst-mat-intro{max-width:720px;margin:0 auto;color:var(--gs-text-soft);font-size:1.08rem;}
.gs-sc .gs-inst-mat-list{list-style:none;margin:2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;}
.gs-sc .gs-inst-mat-list li{background:#fff;border:1px solid var(--gs-border);border-radius:var(--gs-radius);padding:.9rem 1.5rem;box-shadow:var(--gs-shadow-sm);min-width:140px;}
.gs-sc .gs-inst-mat-list strong{display:block;color:var(--gs-blue);font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;letter-spacing:.04em;}
.gs-sc .gs-inst-mat-list span{display:block;font-size:.75rem;color:var(--gs-text-soft);margin-top:2px;}
.gs-sc .gs-inst-mat-note{margin:1.75rem auto 0;max-width:640px;font-size:.9rem;color:var(--gs-text-soft);}
/* Ventana fiscal IRPF */
.gs-sc .gs-inst-fiscal{position:relative;background:linear-gradient(150deg,var(--gs-blue-d) 0%,var(--gs-blue) 100%);color:#fff;padding:4.5rem 0;overflow:hidden;}
.gs-sc .gs-inst-fiscal::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 85% 20%,rgba(255,193,7,.16) 0%,transparent 60%);}
.gs-sc .gs-inst-fiscal-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center;position:relative;z-index:2;}
.gs-sc .gs-inst-fiscal-num{text-align:center;}
.gs-sc .gs-inst-fiscal-num .gs-inst-cota{color:rgba(255,255,255,.7);margin:0 auto .5rem;max-width:190px;}
.gs-sc .gs-inst-fiscal-pct{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(3.2rem,8vw,4.6rem);font-weight:800;line-height:1;color:var(--gs-yellow);}
.gs-sc .gs-inst-fiscal-ley{display:block;font-size:.78rem;font-weight:700;letter-spacing:.16em;color:rgba(255,255,255,.75);margin-top:.5rem;text-transform:uppercase;}
.gs-sc .gs-inst-fiscal-label{color:var(--gs-yellow);}
.gs-sc .gs-inst-fiscal h2{color:#fff;font-size:clamp(1.4rem,3.5vw,1.9rem);font-weight:800;margin-bottom:.75rem;}
.gs-sc .gs-inst-fiscal p{color:rgba(255,255,255,.86);max-width:64ch;margin:0 0 .75rem;}
.gs-sc .gs-inst-fiscal-small{font-size:.85rem;color:rgba(255,255,255,.7);}
.gs-sc .gs-inst-fiscal .gs-cta{margin-top:1.25rem;}
.gs-sc .gs-inst-fiscal-contact{position:relative;z-index:2;margin:2.5rem 0 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.18);font-size:.85rem;color:rgba(255,255,255,.75);}
.gs-sc .gs-inst-fiscal-contact a{color:var(--gs-yellow);text-decoration:none;font-weight:600;}
.gs-sc .gs-inst-fiscal-contact a:hover{text-decoration:underline;}
/* Puente a ingeniería */
.gs-sc .gs-inst-bridge-sec{padding:4.5rem 0;background:#fff;}
.gs-sc .gs-inst-bridge{background:var(--gs-bg);border:1px solid var(--gs-border);border-left:4px solid var(--gs-yellow);border-radius:var(--gs-radius-lg);padding:2rem 1.75rem;display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:center;}
.gs-sc .gs-inst-bridge-quote{font-family:"Plus Jakarta Sans",sans-serif;font-size:1.15rem;font-weight:700;color:var(--gs-blue);margin:0 0 .5rem;}
.gs-sc .gs-inst-bridge p{font-size:.95rem;color:var(--gs-text-soft);margin:0;max-width:60ch;}
.gs-sc .gs-inst-bridge p strong{color:var(--gs-blue);}
.gs-sc .gs-inst-sello{width:150px;height:150px;flex:none;border-radius:50%;border:2px solid var(--gs-blue);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--gs-blue);background:#fff;transform:rotate(-7deg);margin:0 auto;font-family:"Plus Jakarta Sans",sans-serif;}
.gs-sc .gs-inst-sello::before{content:"";position:absolute;inset:6px;border:1px solid var(--gs-blue);border-radius:50%;opacity:.55;}
.gs-sc .gs-inst-sello-l1{font-size:.72rem;font-weight:800;letter-spacing:.16em;}
.gs-sc .gs-inst-sello-l2{font-size:.6rem;font-weight:700;letter-spacing:.22em;}
.gs-sc .gs-inst-sello-dot{width:9px;height:9px;border-radius:50%;background:var(--gs-yellow);border:1px solid var(--gs-yellow-d);}
.gs-sc .gs-inst-sello-l3{font-size:.55rem;font-weight:700;letter-spacing:.18em;color:var(--gs-blue-l);}
/* Caso real · Avilés */
.gs-sc .gs-inst-caso-sec{padding:4.5rem 0 5rem;background:var(--gs-bg);}
.gs-sc .gs-inst-caso-sec .gs-section-label{text-align:center;}
.gs-sc .gs-inst-caso-h2{text-align:center;color:var(--gs-blue);font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:800;margin:0 auto 2rem;max-width:800px;}
.gs-sc .gs-inst-caso{background:#fff;border:1px solid var(--gs-border);border-radius:var(--gs-radius-lg);padding:2rem 1.75rem;box-shadow:var(--gs-shadow-md);}
.gs-sc .gs-inst-caso-head{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start;justify-content:space-between;}
.gs-sc .gs-inst-caso-head > p{flex:1 1 32ch;color:var(--gs-text-soft);max-width:70ch;margin:0;}
.gs-sc .gs-inst-caso-obra{flex:none;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.9rem 1.1rem;border:1px dashed var(--gs-border);border-radius:var(--gs-radius);background:var(--gs-bg);}
.gs-sc .gs-inst-caso-obra img{height:36px;width:auto;display:block;}
.gs-sc .gs-inst-caso-obra span{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gs-text-soft);}
.gs-sc .gs-inst-caso-metrics{display:grid;grid-template-columns:1fr;gap:1.5rem;margin:2rem 0 1.5rem;}
.gs-sc .gs-inst-caso-metric strong{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:1.7rem;font-weight:800;color:var(--gs-blue);line-height:1.15;}
.gs-sc .gs-inst-caso-metric span{display:block;font-size:.85rem;color:var(--gs-text-soft);margin-top:.25rem;}
.gs-sc .gs-inst-caso-metric .gs-inst-cota{color:var(--gs-blue);max-width:170px;}
.gs-sc .gs-inst-caso-note{font-size:.85rem;color:var(--gs-text-soft);border-top:1px dashed var(--gs-border);padding-top:1rem;margin:0 0 1.5rem;}
/* Responsive (mobile-first) */
@media (min-width:640px){
  .gs-sc .gs-inst-metrics{grid-template-columns:repeat(3,1fr);}
  .gs-sc .gs-inst-caso-metrics{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:768px){
  .gs-sc .gs-inst-fiscal-grid{grid-template-columns:auto 1fr;gap:3rem;}
}
@media (min-width:820px){
  .gs-sc .gs-inst-est{padding:2.5rem;}
  .gs-sc .gs-inst-est-grid{grid-template-columns:1.1fr 1fr;}
  .gs-sc .gs-inst-bridge{grid-template-columns:auto 1fr auto;padding:2.5rem;}
  .gs-sc .gs-inst-caso{padding:2.5rem;}
}
/* ===== Página ingenieria (gs-page-ing) ===== */
.gs-sc.gs-page-ing{--gs-ing-m:ui-monospace,Consolas,Menlo,monospace}
.gs-sc .gs-ing-hero{position:relative;overflow:hidden;color:#fff;padding:5.5rem 0 4.5rem;background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px),linear-gradient(150deg,var(--gs-blue-d) 0%,var(--gs-blue) 55%,var(--gs-blue-l) 135%);background-size:24px 24px,24px 24px,100% 100%}
.gs-sc .gs-ing-frame{position:absolute;inset:14px;pointer-events:none;z-index:2}
.gs-sc .gs-ing-frame span{position:absolute;width:22px;height:22px;border:0 solid #ffffff80}
.gs-sc .gs-ing-tl{top:0;left:0;border-width:2px 0 0 2px}
.gs-sc .gs-ing-tr{top:0;right:0;border-width:2px 2px 0 0}
.gs-sc .gs-ing-bl{bottom:0;left:0;border-width:0 0 2px 2px}
.gs-sc .gs-ing-br{bottom:0;right:0;border-width:0 2px 2px 0}
.gs-sc .gs-ing-sheet{position:absolute;right:30px;bottom:4px;font-family:var(--gs-ing-m);font-weight:400;font-size:.65rem;letter-spacing:.14em;color:#ffffff8c}
.gs-sc .gs-ing-arcs{position:absolute;right:0;bottom:0;width:min(46vw,340px);height:auto;pointer-events:none}
.gs-sc .gs-ing-hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}
.gs-sc .gs-ing-hero h1{font-size:clamp(2rem,5vw,3.35rem);font-weight:800;color:#fff;margin:0 0 1.15rem}
.gs-sc .gs-ing-lead{font-size:1.1rem;color:#ffffffd9;margin:0 0 2rem}
.gs-sc .gs-ing-cta-ghost{background:transparent;color:#fff;border:2px solid #ffffff80}
.gs-sc .gs-ing-norms{margin:1.75rem 0 0;font-family:var(--gs-ing-m);font-size:.7rem;color:#ffffffbf}
.gs-sc .gs-ing-norms img{width:40px;height:auto;vertical-align:-6px;margin-left:.75rem}
.gs-sc .gs-ing-seal{display:flex;justify-content:center}
.gs-sc .gs-ing-stamp{width:clamp(190px,26vw,260px);height:auto;color:var(--gs-yellow);transform:rotate(-7deg);filter:drop-shadow(0 12px 28px #00142d59)}
.gs-sc .gs-ing-stamp text{fill:currentColor;font-weight:700}
.gs-sc .gs-ing-stamp line{stroke:currentColor}
.gs-sc .gs-ing-arc{font-size:13.5px;letter-spacing:.14em}
.gs-sc .gs-ing-arcb{letter-spacing:.3em}
.gs-sc .gs-ing-big{font-size:24px;letter-spacing:.18em}
.gs-sc .gs-ing-stamp-mini{width:104px;color:var(--gs-blue-l);transform:rotate(-9deg);filter:none;flex:none}
.gs-sc .gs-ing-stats{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:2rem;margin-top:3rem}
.gs-sc .gs-ing-stat{display:flex;flex-direction:column;flex:1 1 130px}
.gs-sc .gs-ing-stat strong{font-size:2.25rem;font-weight:800;color:var(--gs-yellow);line-height:1.05}
.gs-sc .gs-ing-stat span{font-size:.88rem;color:#ffffffbf}
.gs-sc .gs-ing-cota,.gs-sc .gs-ing-rule{display:block;height:9px;border-left:2px solid var(--gs-yellow);border-right:2px solid var(--gs-yellow);position:relative}
.gs-sc .gs-ing-cota{margin-bottom:.5rem}
.gs-sc .gs-ing-rule{width:72px;margin:0 0 1.5rem}
.gs-sc .gs-ing-cota::before,.gs-sc .gs-ing-rule::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--gs-yellow)}
.gs-sc .gs-ing-h2{color:var(--gs-blue);font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:800;margin:0 0 .85rem}
.gs-sc .gs-ing-intro-txt{max-width:65ch;color:var(--gs-text-soft);margin:0 0 2.5rem}
.gs-sc .gs-ing-catalog{padding:4.5rem 0 4rem}
.gs-sc .gs-ing-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
.gs-sc .gs-ing-svc{background:var(--gs-surface);border:1px solid var(--gs-border);border-top:3px solid var(--gs-yellow);border-radius:var(--gs-radius);padding:1.5rem;box-shadow:var(--gs-shadow-sm);display:flex;flex-direction:column;gap:.5rem}
.gs-sc .gs-ing-svc-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.5rem}
.gs-sc .gs-ing-num{font-family:var(--gs-ing-m);font-size:1.6rem;font-weight:700;color:var(--gs-blue);line-height:1}
.gs-sc .gs-ing-num em{font-style:normal;font-size:.8rem;font-weight:600;color:var(--gs-text-soft)}
.gs-sc .gs-ing-svc-icon{width:40px;height:40px;border-radius:10px;background:var(--gs-bg);color:var(--gs-blue);display:flex;align-items:center;justify-content:center;flex:none}
.gs-sc .gs-ing-svc-icon svg{width:22px;height:22px}
.gs-sc .gs-ing-svc h3{font-size:1.02rem}
.gs-sc .gs-ing-svc p{font-size:.88rem;color:var(--gs-text-soft);flex:1;margin:0}
.gs-sc .gs-ing-svc small{font-family:var(--gs-ing-m);font-size:.66rem;text-transform:uppercase;color:var(--gs-text-soft);border-top:1px dashed var(--gs-border);padding-top:.5rem}
.gs-sc .gs-ing-deliver{background-color:var(--gs-surface);background-image:linear-gradient(#003d7a0b 1px,transparent 1px),linear-gradient(90deg,#003d7a0b 1px,transparent 1px);background-size:24px 24px;padding:4.5rem 0;border-top:1px solid var(--gs-border);border-bottom:1px solid var(--gs-border)}
.gs-sc .gs-ing-dgrid{display:grid;grid-template-columns:1fr;gap:2rem}
.gs-sc .gs-ing-dossier{max-width:460px}
.gs-sc .gs-ing-doc{background:#fff;border:1px solid var(--gs-border);border-radius:var(--gs-radius);box-shadow:var(--gs-shadow-lg)}
.gs-sc .gs-ing-doc-head{color:#fff;padding:1.5rem;border-radius:var(--gs-radius) var(--gs-radius) 0 0;background:linear-gradient(135deg,var(--gs-blue-d),var(--gs-blue))}
.gs-sc .gs-ing-doc-logo{display:block;height:30px;width:auto;margin-bottom:.75rem}
.gs-sc .gs-ing-doc-brand{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--gs-yellow);margin-bottom:.5rem}
.gs-sc .gs-ing-doc-title{display:block;font-size:1.2rem;font-weight:700}
.gs-sc .gs-ing-doc-exp{display:block;margin-top:.5rem;font-family:var(--gs-ing-m);font-size:.7rem;color:#ffffffbf}
.gs-sc .gs-ing-doc-body{padding:1.5rem}
.gs-sc .gs-ing-drow{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;font-size:.85rem}
.gs-sc .gs-ing-drow>span{flex:none;color:var(--gs-text-soft);font-size:.7rem;text-transform:uppercase;font-weight:600}
.gs-sc .gs-ing-drow>i{flex:1;border-bottom:2px dotted var(--gs-border)}
.gs-sc .gs-ing-drow>b{font-weight:600;color:var(--gs-text-soft);font-size:.78rem}
.gs-sc .gs-ing-doc-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;border-top:1px solid var(--gs-border);margin-top:1rem;padding-top:1rem}
.gs-sc .gs-ing-firma{flex:1;max-width:200px}
.gs-sc .gs-ing-firma i{display:block;border-bottom:2px dotted var(--gs-border);height:26px}
.gs-sc .gs-ing-firma small{display:block;font-size:.7rem;color:var(--gs-text-soft)}
.gs-sc .gs-ing-dlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}
.gs-sc .gs-ing-dlist li{display:flex;gap:.75rem;align-items:flex-start;background:var(--gs-surface);border:1px solid var(--gs-border);border-radius:var(--gs-radius);padding:1rem}
.gs-sc .gs-ing-dlist li::before{content:"✓";flex:none;width:26px;height:26px;border-radius:999px;background:var(--gs-yellow);color:var(--gs-blue);font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.gs-sc .gs-ing-dlist strong{display:block;font-size:.95rem}
.gs-sc .gs-ing-dlist small{color:var(--gs-text-soft);font-size:.82rem}
.gs-sc .gs-ing-who-band{padding:4.5rem 0 1.5rem}
.gs-sc .gs-ing-who{position:relative;overflow:hidden;color:#fff;border-radius:var(--gs-radius-lg);padding:2rem 1.5rem;box-shadow:var(--gs-shadow-lg);background:linear-gradient(140deg,var(--gs-blue-d),var(--gs-blue) 70%)}
.gs-sc .gs-ing-who h2{color:#fff;font-size:clamp(1.4rem,3.5vw,2rem);font-weight:800;margin:0 0 .75rem}
.gs-sc .gs-ing-who>p{color:#ffffffd9;margin:0 0 1.5rem}
.gs-sc .gs-ing-who-q{font-size:1rem;font-weight:700;color:#fff;margin:0 0 .75rem}
.gs-sc .gs-ing-tabs{margin:0 0 2rem}
.gs-sc .gs-ing-tablist{display:flex;flex-wrap:wrap;gap:.25rem}
.gs-sc .gs-ing-tab{appearance:none;font:inherit;font-size:.9rem;font-weight:600;min-height:48px;padding:.75rem 1rem;color:#ffffffe0;background:#ffffff14;border:1px solid #ffffff47;border-bottom:0;border-top:3px solid transparent;border-radius:10px 10px 0 0;cursor:pointer}
.gs-sc .gs-ing-tab[aria-selected="true"]{background:#fff;color:var(--gs-blue);border-color:#fff;border-top-color:var(--gs-yellow)}
.gs-sc .gs-ing-panel{background:#fff;color:var(--gs-text-soft);border-radius:var(--gs-radius);padding:1.5rem;box-shadow:var(--gs-shadow-md)}
.gs-sc .gs-ing-panel p{margin:0 0 1rem}
.gs-sc .gs-ing-panel a{color:var(--gs-blue);font-weight:600}
.gs-sc .gs-ing-svchead{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--gs-text-soft);margin-bottom:.5rem}
.gs-sc .gs-ing-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.gs-sc .gs-ing-chips li{display:inline-flex;gap:.5rem;background:var(--gs-bg);border:1px solid var(--gs-border);border-radius:999px;padding:.5rem .75rem;font-size:.8rem;font-weight:600;color:var(--gs-blue)}
.gs-sc .gs-ing-chips b{font-family:var(--gs-ing-m);font-weight:600;font-size:.7rem;color:var(--gs-text-soft)}
.gs-sc .gs-ing-final{padding:3.5rem 0 6rem;text-align:center}
.gs-sc .gs-ing-final .gs-ing-rule{margin:0 auto 1.25rem}
.gs-sc .gs-ing-copy{max-width:58ch;margin:0 auto 1.5rem;color:var(--gs-text-soft)}
.gs-sc .gs-ing-motto{display:inline-block;font-size:1.15rem;font-weight:600;font-style:italic;color:var(--gs-blue);margin:0 auto 2rem;padding:.75rem 1.5rem;border-left:3px solid var(--gs-yellow);border-right:3px solid var(--gs-yellow)}
.gs-sc .gs-ing-final .gs-cta-row{justify-content:center;margin-bottom:2.5rem}
.gs-sc .gs-ing-final-logo{display:block;height:40px;width:auto;margin:0 auto .75rem}
.gs-sc .gs-ing-sign{font-style:italic;font-weight:600;color:var(--gs-blue);font-size:1rem;margin:0 auto}
.gs-sc .gs-ing-addr{margin:.25rem auto 0;font-size:.82rem;color:var(--gs-text-soft)}
.gs-sc .gs-ing-addr a{color:var(--gs-blue);font-weight:600}
@media (min-width:640px){.gs-sc .gs-ing-grid{grid-template-columns:1fr 1fr}}
@media (min-width:768px){.gs-sc .gs-ing-who{padding:3rem}}
@media (min-width:1024px){.gs-sc .gs-ing-hero-grid{grid-template-columns:1.25fr .75fr}.gs-sc .gs-ing-grid{grid-template-columns:repeat(4,1fr)}.gs-sc .gs-ing-dgrid{grid-template-columns:.9fr 1.1fr}}


/* ============================================================
   DETALLE v2 (2026-08-03) - cargadores VE + fotovoltaica
   ============================================================ */
/* ===== Página cargadores VE (gs-page-carga) ===== */
.gs-sc.gs-page-carga{--gs-carga-m:ui-monospace,Consolas,Menlo,monospace}
.gs-sc .gs-carga-hero{position:relative;overflow:hidden;color:#fff;padding:5.5rem 0 4.5rem;background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px),linear-gradient(150deg,var(--gs-blue-d) 0%,var(--gs-blue) 55%,var(--gs-blue-l) 135%);background-size:24px 24px,24px 24px,100% 100%}
.gs-sc .gs-carga-frame{position:absolute;inset:14px;pointer-events:none;z-index:2}
.gs-sc .gs-carga-frame span{position:absolute;width:22px;height:22px;border:0 solid #ffffff80}
.gs-sc .gs-carga-tl{top:0;left:0;border-width:2px 0 0 2px}
.gs-sc .gs-carga-tr{top:0;right:0;border-width:2px 2px 0 0}
.gs-sc .gs-carga-bl{bottom:0;left:0;border-width:0 0 2px 2px}
.gs-sc .gs-carga-br{bottom:0;right:0;border-width:0 2px 2px 0}
.gs-sc .gs-carga-sheet{position:absolute;right:30px;bottom:4px;font-family:var(--gs-carga-m);font-weight:400;font-size:.65rem;letter-spacing:.14em;color:#ffffff8c}
.gs-sc .gs-carga-art{position:absolute;right:-1rem;top:50%;transform:translateY(-50%);width:min(42vw,340px);height:auto;pointer-events:none;z-index:1}
.gs-sc .gs-carga-hero-inner{position:relative;z-index:3;max-width:720px}
.gs-sc .gs-carga-hero h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:800;color:#fff;margin:0 0 1.15rem}
.gs-sc .gs-carga-lead{font-size:1.1rem;color:#ffffffd9;max-width:58ch;margin:0 0 2rem}
.gs-sc .gs-carga-norms{margin:1.75rem 0 0;font-family:var(--gs-carga-m);font-size:.7rem;color:#ffffffbf}
.gs-sc .gs-carga-norms img{width:40px;height:auto;vertical-align:-6px;margin-left:.75rem}
.gs-sc .gs-carga-cota{display:block;height:9px;max-width:170px;border-left:2px solid var(--gs-yellow);border-right:2px solid var(--gs-yellow);position:relative;margin-bottom:.5rem}
.gs-sc .gs-carga-cota::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--gs-yellow)}
.gs-sc .gs-carga-metrics{position:relative;z-index:3;display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:3.5rem;max-width:900px}
.gs-sc .gs-carga-metric strong{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:2rem;font-weight:800;line-height:1.1;color:var(--gs-yellow);letter-spacing:-.02em}
.gs-sc .gs-carga-metric span{display:block;font-size:.88rem;color:#ffffffb8;max-width:30ch;margin-top:.25rem}
.gs-sc .gs-carga-h2{color:var(--gs-blue);font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:800;margin:0 0 .85rem}
.gs-sc .gs-carga-intro-txt{max-width:70ch;margin:0 auto;color:var(--gs-text-soft)}
.gs-sc .gs-carga-donde{padding:4.5rem 0 .5rem}
.gs-sc .gs-carga-donde-head{text-align:center;margin-bottom:2rem}
.gs-sc .gs-carga-who{position:relative;overflow:hidden;color:#fff;border-radius:var(--gs-radius-lg);padding:2rem 1.5rem;box-shadow:var(--gs-shadow-lg);background-image:linear-gradient(#ffffff0f 1px,transparent 1px),linear-gradient(90deg,#ffffff0f 1px,transparent 1px),linear-gradient(140deg,var(--gs-blue-d),var(--gs-blue) 70%);background-size:24px 24px,24px 24px,100% 100%}
.gs-sc .gs-carga-who-q{font-size:1rem;font-weight:700;color:#fff;margin:0 0 .75rem}
.gs-sc .gs-carga-tablist{display:flex;flex-wrap:wrap;gap:.25rem}
.gs-sc .gs-carga-tab{appearance:none;font:inherit;font-size:.9rem;font-weight:600;min-height:48px;padding:.75rem 1rem;color:#ffffffe0;background:#ffffff14;border:1px solid #ffffff47;border-bottom:0;border-top:3px solid transparent;border-radius:10px 10px 0 0;cursor:pointer}
.gs-sc .gs-carga-tab[aria-selected="true"]{background:#fff;color:var(--gs-blue);border-color:#fff;border-top-color:var(--gs-yellow)}
.gs-sc .gs-carga-panel{background:#fff;color:var(--gs-text-soft);border-radius:var(--gs-radius);padding:1.5rem;box-shadow:var(--gs-shadow-md)}
.gs-sc .gs-carga-panel p{margin:0 0 1rem}
.gs-sc .gs-carga-pow{margin:2.5rem 0 0;background:#fff;border:1px solid var(--gs-border);border-radius:var(--gs-radius);box-shadow:var(--gs-shadow-sm);overflow:hidden}
.gs-sc .gs-carga-pow-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--gs-border)}
.gs-sc .gs-carga-pow-cell{background:#fff;padding:1.4rem 1rem 1.2rem;text-align:center}
.gs-sc .gs-carga-pow-cell strong{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:1.7rem;font-weight:800;color:var(--gs-blue);line-height:1.1}
.gs-sc .gs-carga-pow-cell strong small{font-size:.95rem;color:var(--gs-text-soft);font-weight:600}
.gs-sc .gs-carga-pow-fase{display:block;font-family:var(--gs-carga-m);font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gs-yellow-d);margin-bottom:.3rem}
.gs-sc .gs-carga-pow-time{display:block;font-size:.85rem;color:var(--gs-text-soft);margin-top:.35rem}
.gs-sc .gs-carga-pow-rec{background:#fff8e6;box-shadow:inset 0 3px 0 var(--gs-yellow)}
.gs-sc .gs-carga-pow-rec .gs-type-tag{margin-bottom:.4rem}
.gs-sc .gs-carga-pow-note{margin:0;padding:.9rem 1.25rem;border-top:1px dashed var(--gs-border);background:var(--gs-bg);font-size:.8rem;color:var(--gs-text-soft)}
.gs-sc .gs-carga-brands{padding:3.5rem 0 4rem;background:linear-gradient(180deg,var(--gs-bg) 0%,#fff 100%);text-align:center}
.gs-sc .gs-carga-brands-intro{max-width:66ch;margin:0 auto;color:var(--gs-text-soft)}
.gs-sc .gs-carga-brand-list{list-style:none;margin:1.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.gs-sc .gs-carga-brand-list li{background:#fff;border:1px solid var(--gs-border);border-radius:var(--gs-radius);padding:1rem 1.75rem;box-shadow:var(--gs-shadow-sm);min-width:180px}
.gs-sc .gs-carga-brand-list strong{display:block;color:var(--gs-blue);font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:1.1rem;letter-spacing:.04em}
.gs-sc .gs-carga-brand-list span{display:block;font-size:.75rem;color:var(--gs-text-soft);margin-top:2px}
.gs-sc .gs-carga-brands-note{margin:1.5rem auto 0;max-width:640px;font-size:.9rem;color:var(--gs-text-soft)}
.gs-sc .gs-carga-dosier-sec{background-color:#fff;background-image:linear-gradient(#003d7a0b 1px,transparent 1px),linear-gradient(90deg,#003d7a0b 1px,transparent 1px);background-size:24px 24px;padding:4.5rem 0;border-top:1px solid var(--gs-border);border-bottom:1px solid var(--gs-border)}
.gs-sc .gs-carga-dosier-sec .gs-carga-intro-txt{margin:0 0 2rem}
.gs-sc .gs-carga-dgrid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start}
.gs-sc .gs-carga-doc{max-width:460px;background:#fff;border:1px solid var(--gs-border);border-radius:var(--gs-radius);box-shadow:var(--gs-shadow-lg)}
.gs-sc .gs-carga-doc-head{color:#fff;padding:1.5rem;border-radius:var(--gs-radius) var(--gs-radius) 0 0;background:linear-gradient(135deg,var(--gs-blue-d),var(--gs-blue))}
.gs-sc .gs-carga-doc-logo{display:block;height:30px;width:auto;margin-bottom:.75rem}
.gs-sc .gs-carga-doc-brand{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--gs-yellow);margin-bottom:.5rem}
.gs-sc .gs-carga-doc-title{display:block;font-size:1.2rem;font-weight:700}
.gs-sc .gs-carga-doc-exp{display:block;margin-top:.5rem;font-family:var(--gs-carga-m);font-size:.7rem;color:#ffffffbf}
.gs-sc .gs-carga-doc-body{padding:1.5rem}
.gs-sc .gs-carga-dlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}
.gs-sc .gs-carga-dlist li{display:flex;gap:.75rem;align-items:flex-start}
.gs-sc .gs-carga-dlist li::before{content:"✓";flex:none;width:26px;height:26px;border-radius:999px;background:var(--gs-yellow);color:var(--gs-blue);font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.gs-sc .gs-carga-dlist strong{display:block;font-size:.95rem;color:var(--gs-text)}
.gs-sc .gs-carga-dlist small{display:block;color:var(--gs-text-soft);font-size:.82rem}
.gs-sc .gs-carga-doc-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;border-top:1px solid var(--gs-border);margin-top:1.25rem;padding-top:1rem}
.gs-sc .gs-carga-firma{flex:1;max-width:200px}
.gs-sc .gs-carga-firma i{display:block;border-bottom:2px dotted var(--gs-border);height:26px}
.gs-sc .gs-carga-firma small{display:block;font-size:.7rem;color:var(--gs-text-soft)}
.gs-sc .gs-carga-stamp{width:104px;height:auto;flex:none;color:var(--gs-blue-l);transform:rotate(-9deg)}
.gs-sc .gs-carga-stamp text{fill:currentColor;font-weight:700}
.gs-sc .gs-carga-stamp circle,.gs-sc .gs-carga-stamp line{stroke:currentColor}
.gs-sc .gs-carga-side img{width:100%;height:auto;display:block;border-radius:var(--gs-radius-lg);box-shadow:var(--gs-shadow-lg)}
.gs-sc .gs-carga-side h3{color:var(--gs-blue);font-size:1.25rem;margin:1.5rem 0 .5rem}
.gs-sc .gs-carga-side p{color:var(--gs-text-soft);margin:0 0 .75rem;max-width:60ch}
.gs-sc .gs-carga-fv{position:relative;overflow:hidden;color:#fff;padding:4.5rem 0;background:linear-gradient(150deg,var(--gs-blue-d) 0%,var(--gs-blue) 100%)}
.gs-sc .gs-carga-fv::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 85% 20%,rgba(255,193,7,.16) 0%,transparent 60%)}
.gs-sc .gs-carga-fv .gs-wrap{position:relative;z-index:2}
.gs-sc .gs-carga-fv-label{color:var(--gs-yellow)}
.gs-sc .gs-carga-fv h2{color:#fff;font-size:clamp(1.5rem,3.5vw,2.1rem);font-weight:800;margin:0 0 .85rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.gs-sc .gs-carga-fv h2 img{width:48px;height:auto;flex:none;transform:translateY(-3px)}
.gs-sc .gs-carga-fv p{color:#ffffffdb;max-width:66ch;margin:0 0 .75rem}
.gs-sc .gs-carga-fv-small{font-size:.85rem;color:#ffffffb3}
.gs-sc .gs-carga-fv .gs-cta{margin-top:1.25rem}
@media (max-width:640px){.gs-sc .gs-carga-art{opacity:.35;right:-4rem}}
@media (min-width:640px){.gs-sc .gs-carga-metrics{grid-template-columns:repeat(3,1fr)}.gs-sc .gs-carga-pow-grid{grid-template-columns:repeat(4,1fr)}}
@media (min-width:768px){.gs-sc .gs-carga-who{padding:3rem}}
@media (min-width:1024px){.gs-sc .gs-carga-dgrid{grid-template-columns:.9fr 1.1fr}}
/* Página fotovoltaica detalle (gs-page-fv) */
.gs-page-fv .gs-fv-plano{position:absolute;top:-2rem;right:-2.5rem;width:min(440px,58vw);height:auto;pointer-events:none;opacity:.85;z-index:1;}
.gs-page-fv .gs-fv-cota{display:block;height:9px;max-width:160px;border-left:1px solid currentColor;border-right:1px solid currentColor;position:relative;opacity:.55;margin-bottom:.5rem;}
.gs-page-fv .gs-fv-cota::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid currentColor;}
.gs-page-fv .gs-fv-metrics{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:4rem;max-width:900px;position:relative;z-index:3;color:#fff;}
.gs-page-fv .gs-fv-metric strong{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:2rem;font-weight:800;line-height:1.1;color:var(--gs-yellow);letter-spacing:-.02em;}
.gs-page-fv .gs-fv-metric span{display:block;font-size:.88rem;color:rgba(255,255,255,.72);max-width:28ch;margin-top:.25rem;}
.gs-page-fv .gs-fv-metric .gs-fv-cota{color:rgba(255,255,255,.7);}
/* Proceso 4 pasos */
.gs-page-fv .gs-fv-proceso{padding:4.5rem 0 5rem;background:var(--gs-bg);}
.gs-page-fv .gs-fv-steps{position:relative;display:grid;grid-template-columns:1fr;gap:2rem;}
.gs-page-fv .gs-fv-steps::before{content:"";position:absolute;top:30px;bottom:30px;left:29px;width:2px;background:linear-gradient(180deg,var(--gs-yellow) 0%,var(--gs-blue) 100%);}
.gs-page-fv .gs-fv-step{position:relative;z-index:1;display:grid;grid-template-columns:60px 1fr;gap:1rem;align-items:start;}
.gs-page-fv .gs-fv-step-num{width:60px;height:60px;border-radius:50%;background:#fff;border:3px solid var(--gs-yellow);display:flex;align-items:center;justify-content:center;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:1.3rem;color:var(--gs-blue);box-shadow:0 4px 12px rgba(255,193,7,.25);}
.gs-page-fv .gs-fv-step:nth-child(n+3) .gs-fv-step-num{border-color:var(--gs-blue);box-shadow:0 4px 12px rgba(0,61,122,.18);}
.gs-page-fv .gs-fv-step h3{color:var(--gs-blue);font-size:1.02rem;font-weight:700;margin-bottom:.4rem;}
.gs-page-fv .gs-fv-step p{color:var(--gs-text-soft);font-size:.9rem;margin:0;line-height:1.55;}
.gs-page-fv .gs-fv-proceso-nota{text-align:center;margin:2.5rem auto 0;max-width:640px;font-size:.9rem;color:var(--gs-text-soft);}
.gs-page-fv .gs-fv-proceso-nota a{color:var(--gs-blue);font-weight:600;}
/* Obra real */
.gs-page-fv .gs-fv-obra{padding:4.5rem 0;background:#fff;border-top:1px solid var(--gs-border);}
.gs-page-fv .gs-fv-obra .gs-section-label{text-align:center;}
.gs-page-fv .gs-fv-obra h2{text-align:center;color:var(--gs-blue);font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:800;margin:0 auto 2rem;max-width:800px;}
.gs-page-fv .gs-fv-galeria{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;}
.gs-page-fv .gs-fv-galeria img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--gs-radius);display:block;box-shadow:var(--gs-shadow-sm);}
.gs-page-fv .gs-fv-obra-cta{text-align:center;margin:2rem 0 0;}
/* Equipos con trazabilidad */
.gs-page-fv .gs-fv-eq-sec{padding:4.5rem 0;background:linear-gradient(180deg,var(--gs-bg) 0%,#fff 100%);text-align:center;scroll-margin-top:6rem;}
.gs-page-fv .gs-fv-eq-title{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;color:var(--gs-blue);font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:800;margin:0 auto 1.25rem;max-width:800px;}
.gs-page-fv .gs-fv-eq-title img{width:48px;height:auto;flex:none;transform:translateY(-3px);}
.gs-page-fv .gs-fv-eq-intro{max-width:720px;margin:0 auto;color:var(--gs-text-soft);font-size:1.08rem;}
.gs-page-fv .gs-fv-eq-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:2.25rem;text-align:left;}
.gs-page-fv .gs-fv-eq{background:#fff;border:1px solid var(--gs-border);border-top:3px solid var(--gs-yellow);border-radius:var(--gs-radius-lg);padding:1.75rem 1.5rem;box-shadow:var(--gs-shadow-sm);}
.gs-page-fv .gs-fv-eq-tag{display:block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gs-blue-l);margin-bottom:.6rem;}
.gs-page-fv .gs-fv-eq h3{color:var(--gs-blue);font-size:1.15rem;font-weight:800;margin-bottom:.5rem;}
.gs-page-fv .gs-fv-eq p{color:var(--gs-text-soft);font-size:.93rem;margin:0;line-height:1.6;}
.gs-page-fv .gs-fv-eq-nota{margin:1.75rem auto 0;max-width:640px;font-size:.9rem;color:var(--gs-text-soft);}
/* Deducción IRPF 60 % */
.gs-page-fv .gs-fv-fiscal{position:relative;background:linear-gradient(150deg,var(--gs-blue-d) 0%,var(--gs-blue) 100%);color:#fff;padding:4.5rem 0;overflow:hidden;}
.gs-page-fv .gs-fv-fiscal::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 85% 20%,rgba(255,193,7,.16) 0%,transparent 60%);}
.gs-page-fv .gs-fv-fiscal-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center;position:relative;z-index:2;}
.gs-page-fv .gs-fv-fiscal-num{text-align:center;}
.gs-page-fv .gs-fv-fiscal-num .gs-fv-cota{color:rgba(255,255,255,.7);margin:0 auto .5rem;max-width:190px;}
.gs-page-fv .gs-fv-fiscal-pct{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(3.2rem,8vw,4.6rem);font-weight:800;line-height:1;color:var(--gs-yellow);}
.gs-page-fv .gs-fv-fiscal-ley{display:block;font-size:.78rem;font-weight:700;letter-spacing:.16em;color:rgba(255,255,255,.75);margin-top:.5rem;text-transform:uppercase;}
.gs-page-fv .gs-fv-fiscal-label{color:var(--gs-yellow);}
.gs-page-fv .gs-fv-fiscal h2{color:#fff;font-size:clamp(1.4rem,3.5vw,1.9rem);font-weight:800;margin-bottom:.75rem;}
.gs-page-fv .gs-fv-fiscal p{color:rgba(255,255,255,.86);max-width:64ch;margin:0 0 .75rem;}
.gs-page-fv .gs-fv-fiscal-small{font-size:.85rem;color:rgba(255,255,255,.7);}
.gs-page-fv .gs-fv-fiscal .gs-cta{margin-top:1.25rem;}
.gs-page-fv .gs-fv-fiscal-contact{position:relative;z-index:2;margin:2.5rem 0 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.18);font-size:.85rem;color:rgba(255,255,255,.75);}
.gs-page-fv .gs-fv-fiscal-contact a{color:var(--gs-yellow);text-decoration:none;font-weight:600;}
.gs-page-fv .gs-fv-fiscal-contact a:hover{text-decoration:underline;}
/* Puentes estimador + ingeniería */
.gs-page-fv .gs-fv-puentes-sec{padding:4.5rem 0;background:#fff;}
.gs-page-fv .gs-fv-puentes{display:grid;grid-template-columns:1fr;gap:1.5rem;}
.gs-page-fv .gs-fv-puente{background:var(--gs-bg);border:1px solid var(--gs-border);border-left:4px solid var(--gs-yellow);border-radius:var(--gs-radius-lg);padding:2rem 1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;}
.gs-page-fv .gs-fv-puente h3{color:var(--gs-blue);font-size:1.25rem;font-weight:800;margin:0;}
.gs-page-fv .gs-fv-puente p{color:var(--gs-text-soft);font-size:.95rem;margin:0 0 .75rem;max-width:52ch;}
/* FAQ */
.gs-page-fv .gs-fv-faq{padding:4.5rem 0 5rem;background:var(--gs-bg);}
.gs-page-fv .gs-fv-faq-head{text-align:center;margin-bottom:2.5rem;}
.gs-page-fv .gs-fv-faq-head h2{color:var(--gs-blue);font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:800;margin-bottom:1rem;}
.gs-page-fv .gs-fv-faq-head p{color:var(--gs-text-soft);max-width:600px;margin:0 auto;}
.gs-page-fv .gs-fv-faq-head a{color:var(--gs-blue);font-weight:600;}
.gs-page-fv .gs-fv-faq-list{max-width:780px;margin:0 auto;}
.gs-page-fv .gs-fv-faq-item{background:#fff;border:1px solid var(--gs-border);border-radius:var(--gs-radius);margin-bottom:.85rem;overflow:hidden;transition:border-color .2s,box-shadow .2s;}
.gs-page-fv .gs-fv-faq-item[open]{border-color:var(--gs-yellow);box-shadow:var(--gs-shadow-sm);}
.gs-page-fv .gs-fv-faq-item summary{padding:1.25rem 1.5rem;cursor:pointer;font-weight:600;color:var(--gs-blue);font-family:"Plus Jakarta Sans",sans-serif;font-size:1.02rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;list-style:none;}
.gs-page-fv .gs-fv-faq-item summary::-webkit-details-marker{display:none;}
.gs-page-fv .gs-fv-faq-item summary::after{content:"+";width:26px;height:26px;flex:none;border-radius:50%;background:var(--gs-yellow);color:var(--gs-blue);font-weight:800;font-size:1.15rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:transform .25s;}
.gs-page-fv .gs-fv-faq-item[open] summary::after{transform:rotate(45deg);}
.gs-page-fv .gs-fv-faq-body{padding:0 1.5rem 1.4rem;color:var(--gs-text-soft);font-size:.96rem;line-height:1.65;}
.gs-page-fv .gs-fv-faq-body strong{color:var(--gs-blue);}
/* Responsive (mobile-first) */
@media (min-width:640px){
  .gs-page-fv .gs-fv-metrics{grid-template-columns:repeat(3,1fr);}
  .gs-page-fv .gs-fv-eq-grid{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:768px){
  .gs-page-fv .gs-fv-fiscal-grid{grid-template-columns:auto 1fr;gap:3rem;}
  .gs-page-fv .gs-fv-puentes{grid-template-columns:1fr 1fr;}
}
@media (min-width:900px){
  .gs-page-fv .gs-fv-steps{grid-template-columns:repeat(4,1fr);gap:1rem;}
  .gs-page-fv .gs-fv-steps::before{top:30px;bottom:auto;left:12.5%;right:12.5%;width:auto;height:2px;background:linear-gradient(90deg,var(--gs-yellow) 0%,var(--gs-blue) 100%);}
  .gs-page-fv .gs-fv-step{display:block;text-align:center;padding:0 .5rem;}
  .gs-page-fv .gs-fv-step-num{margin:0 auto 1.1rem;}
}
@media (prefers-reduced-motion:reduce){
  .gs-page-fv .gs-fv-faq-item,
  .gs-page-fv .gs-fv-faq-item summary::after{transition:none;}
  .gs-page-fv .gs-fv-faq-item[open] summary::after{transform:none;content:"–";}
}


/* ============================================================
   RESTO v2 (2026-08-03) - portada + sobre nosotros + contacto
   ============================================================ */
/* ===== Portada (gs-page-home) ===== */
.gs-sc.gs-page-home{--gs-home-m:ui-monospace,Consolas,Menlo,monospace}
/* Hero blueprint: retícula sobre el gradiente del hero global */
.gs-sc .gs-hero.gs-home-hero{background-image:linear-gradient(#ffffff10 1px,transparent 1px),linear-gradient(90deg,#ffffff10 1px,transparent 1px),radial-gradient(120% 60% at 100% 0%,rgba(255,193,7,.22) 0%,rgba(255,193,7,0) 55%),linear-gradient(160deg,var(--gs-blue-d) 0%,var(--gs-blue) 60%,var(--gs-blue-l) 100%);background-size:24px 24px,24px 24px,100% 100%,100% 100%}
.gs-sc .gs-home-arcs{position:absolute;top:-3rem;right:-2rem;width:min(430px,55vw);height:auto;pointer-events:none;opacity:.85;z-index:1}
.gs-sc .gs-home-frame{position:absolute;inset:14px;pointer-events:none;z-index:2}
.gs-sc .gs-home-frame span{position:absolute;width:22px;height:22px;border:0 solid #ffffff80}
.gs-sc .gs-home-tl{top:0;left:0;border-width:2px 0 0 2px}
.gs-sc .gs-home-tr{top:0;right:0;border-width:2px 2px 0 0}
.gs-sc .gs-home-bl{bottom:0;left:0;border-width:0 0 2px 2px}
.gs-sc .gs-home-br{bottom:0;right:0;border-width:0 2px 2px 0}
.gs-sc .gs-home-sheet{position:absolute;left:30px;bottom:4px;font-family:var(--gs-home-m);font-weight:400;font-size:.65rem;letter-spacing:.14em;color:#ffffff8c}
/* Cajetín de plano (solo escritorio) */
.gs-sc .gs-home-cajetin{display:none;position:absolute;right:14px;bottom:14px;z-index:2;border:1px solid #ffffff59;background:#00264dcc;font-family:var(--gs-home-m);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffffa6;text-align:left}
.gs-sc .gs-home-cajetin span{display:block;padding:.32rem .65rem;border-top:1px solid #ffffff30}
.gs-sc .gs-home-cajetin span:first-child{border-top:0;color:var(--gs-yellow);font-weight:700}
/* CTA fantasma del hero (secundario, no compite con el amarillo) */
.gs-sc .gs-home-cta-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7);box-shadow:none}
.gs-sc .gs-home-cta-ghost:hover{background:#fff;color:var(--gs-blue);border-color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.18)}
/* Cota con gamo del hero (recolorea gs-svc-cota sobre azul) */
.gs-sc .gs-home-cota{color:#ffffff85;margin-top:2.5rem;max-width:620px}
.gs-sc .gs-home-cota .gs-svc-cota-label{color:#ffffffd6}
/* Franja de confianza (fabricantes + normativa) */
.gs-sc .gs-home-trust{padding:3rem 0 .25rem;background:var(--gs-bg);text-align:center}
.gs-sc .gs-home-makers{color:var(--gs-blue);margin:0}
.gs-sc .gs-home-norms{margin:1.1rem 0 0;font-family:var(--gs-home-m);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gs-text-soft)}
.gs-sc .gs-home-espec{margin:.6rem 0 0;font-size:.88rem;color:var(--gs-text-soft)}
/* Gamo pequeño en títulos */
.gs-sc .gs-home-h2img{width:48px;height:auto;vertical-align:-7px;margin-left:.5rem}
/* Calculadora por presupuesto */
.gs-sc .gs-home-budget{padding:1rem 0 4.5rem;background:var(--gs-bg);scroll-margin-top:90px}
/* Ramas: títulos h3 con el estilo del hub (allí son h2) */
.gs-sc.gs-page-home .gs-svc-branch h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.2;color:var(--gs-blue);margin:0}
.gs-sc.gs-page-home .gs-svc-branch--ing h3{color:#fff}
/* Teaser casos de éxito + comparador */
.gs-sc .gs-home-next{padding:4.5rem 0 4rem;background:var(--gs-bg)}
.gs-sc .gs-home-next .gs-types-head{margin-bottom:2.25rem}
.gs-sc .gs-home-duo{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:stretch;max-width:980px;margin:0 auto}
/* Firma del equipo */
.gs-sc .gs-home-firma-sec{padding:1.5rem 0 4rem;background:#fff}
.gs-sc .gs-home-firma-sec .gs-svc-firma{margin-top:0}
/* Responsive */
@media (max-width:640px){.gs-sc .gs-home-arcs{opacity:.35;right:-4rem}}
@media (min-width:820px){.gs-sc .gs-home-duo{grid-template-columns:1.1fr .9fr}}
@media (min-width:900px){.gs-sc .gs-home-cajetin{display:block}}
/* Proceso en 6 fases: línea conectora en una sola fila */
@media (min-width:901px){.gs-sc.gs-page-home .gs-timeline{grid-template-columns:repeat(6,1fr);gap:.75rem}}
/* ===== Página Sobre nosotros (gs-page-sobre) ===== */
.gs-sc.gs-page-sobre{--gs-sobre-m:ui-monospace,Consolas,Menlo,monospace}
/* Hero claro blueprint */
.gs-sc .gs-sobre-hero{position:relative;overflow:hidden;background-color:#fff;background-image:linear-gradient(#003d7a0e 1px,transparent 1px),linear-gradient(90deg,#003d7a0e 1px,transparent 1px);background-size:24px 24px;padding:5.5rem 0 4.5rem;border-bottom:1px solid var(--gs-border)}
.gs-sc .gs-sobre-frame{position:absolute;inset:14px;pointer-events:none;z-index:2}
.gs-sc .gs-sobre-frame span{position:absolute;width:22px;height:22px;border:0 solid #003d7a59}
.gs-sc .gs-sobre-tl{top:0;left:0;border-width:2px 0 0 2px}
.gs-sc .gs-sobre-tr{top:0;right:0;border-width:2px 2px 0 0}
.gs-sc .gs-sobre-bl{bottom:0;left:0;border-width:0 0 2px 2px}
.gs-sc .gs-sobre-br{bottom:0;right:0;border-width:0 2px 2px 0}
.gs-sc .gs-sobre-sheet{position:absolute;right:30px;bottom:4px;font-family:var(--gs-sobre-m);font-weight:400;font-size:.65rem;letter-spacing:.14em;color:#003d7a8c}
.gs-sc .gs-sobre-art{position:absolute;right:0;top:50%;transform:translateY(-50%);width:min(38vw,360px);height:auto;pointer-events:none;z-index:1}
.gs-sc .gs-sobre-hero-inner{position:relative;z-index:3;max-width:720px}
.gs-sc .gs-sobre-hero .gs-eyebrow{background:#003d7a0a;border-color:#003d7a40;color:var(--gs-blue)}
.gs-sc .gs-sobre-hero h1{font-size:clamp(2.1rem,5vw,3.3rem);font-weight:800;color:var(--gs-blue);margin:0 0 1.15rem}
.gs-sc .gs-sobre-hero h1 .gs-accent{background:linear-gradient(transparent 60%,#ffc10766 60%)}
.gs-sc .gs-sobre-lead{font-size:1.1rem;color:var(--gs-text-soft);max-width:58ch;margin:0 0 2rem}
.gs-sc .gs-sobre-hero .gs-cta-ghost{background:transparent;color:var(--gs-blue);border:2px solid #003d7a66;box-shadow:none}
.gs-sc .gs-sobre-hero .gs-cta-ghost:hover{transform:translateY(-2px);background:var(--gs-blue);color:#fff;border-color:var(--gs-blue)}
.gs-sc .gs-sobre-annot{margin:1.75rem 0 0;font-family:var(--gs-sobre-m);font-size:.7rem;letter-spacing:.1em;color:#003d7abf}
.gs-sc .gs-sobre-annot img{width:40px;height:auto;vertical-align:-6px;margin-left:.75rem}
/* Cota (líneas de acotación) */
.gs-sc .gs-sobre-cota{display:block;height:9px;max-width:170px;border-left:2px solid var(--gs-yellow);border-right:2px solid var(--gs-yellow);position:relative;margin-bottom:.5rem}
.gs-sc .gs-sobre-cota::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--gs-yellow)}
/* Lámina fotográfica */
.gs-sc .gs-sobre-photo-sec{padding:2.5rem 0 0}
.gs-sc .gs-sobre-photo{margin:0;background:#fff;border:1px solid var(--gs-border);border-radius:var(--gs-radius);box-shadow:var(--gs-shadow-md);padding:.9rem}
.gs-sc .gs-sobre-photo img{width:100%;height:auto;max-height:440px;object-fit:cover;display:block;border-radius:var(--gs-radius-sm)}
.gs-sc .gs-sobre-photo figcaption{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.7rem .25rem 0;font-family:var(--gs-sobre-m);font-size:.62rem;letter-spacing:.12em;color:var(--gs-text-soft)}
/* Valores · láminas 01-04 */
.gs-sc .gs-sobre-vals-sec{padding:4.5rem 0;background-color:#fff;background-image:linear-gradient(#003d7a0b 1px,transparent 1px),linear-gradient(90deg,#003d7a0b 1px,transparent 1px);background-size:24px 24px;border-top:1px solid var(--gs-border);border-bottom:1px solid var(--gs-border)}
.gs-sc .gs-sobre-vals-head{text-align:center;margin-bottom:2.5rem}
.gs-sc .gs-sobre-h2{color:var(--gs-blue);font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:800;margin:0 0 .85rem}
.gs-sc .gs-sobre-vals-intro{max-width:70ch;margin:0 auto;color:var(--gs-text-soft)}
.gs-sc .gs-sobre-vgrid{display:grid;grid-template-columns:1fr;gap:1.25rem}
.gs-sc .gs-sobre-val{position:relative;background:#fff;border:1px solid var(--gs-border);border-radius:var(--gs-radius);box-shadow:var(--gs-shadow-sm);padding:1.75rem 1.5rem 1.25rem;display:flex;flex-direction:column}
.gs-sc .gs-sobre-val::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:3px;background:var(--gs-yellow);border-radius:var(--gs-radius) var(--gs-radius) 0 0}
.gs-sc .gs-sobre-val-num{font-family:var(--gs-sobre-m);font-size:1.9rem;font-weight:700;color:var(--gs-blue);opacity:.28;line-height:1}
.gs-sc .gs-sobre-val h3{color:var(--gs-blue);font-size:1.15rem;font-weight:800;margin:.6rem 0 .5rem}
.gs-sc .gs-sobre-val p{color:var(--gs-text-soft);font-size:.93rem;margin:0 0 1.25rem;flex:1}
.gs-sc .gs-sobre-val-ref{font-family:var(--gs-sobre-m);font-size:.62rem;letter-spacing:.12em;color:var(--gs-text-soft);border-top:1px dashed var(--gs-border);padding-top:.7rem}
/* Métricas con cotas (franja azul) */
.gs-sc .gs-sobre-metrics{position:relative;overflow:hidden;color:#fff;padding:4.5rem 0;background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px),linear-gradient(150deg,var(--gs-blue-d) 0%,var(--gs-blue) 100%);background-size:24px 24px,24px 24px,100% 100%}
.gs-sc .gs-sobre-metrics .gs-section-label{color:var(--gs-yellow)}
.gs-sc .gs-sobre-metrics h2{color:#fff;font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:800;margin:0 0 .75rem}
.gs-sc .gs-sobre-metrics-intro{color:#ffffffd9;max-width:64ch;margin:0 0 2.25rem}
.gs-sc .gs-sobre-mgrid{display:grid;grid-template-columns:1fr;gap:1.5rem}
.gs-sc .gs-sobre-metric strong{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:2rem;font-weight:800;line-height:1.1;color:var(--gs-yellow);letter-spacing:-.02em}
.gs-sc .gs-sobre-metric span{display:block;font-size:.88rem;color:#ffffffb8;max-width:30ch;margin-top:.25rem}
.gs-sc .gs-sobre-norms{margin:2.5rem 0 0;padding-top:1rem;border-top:1px solid #ffffff2e;font-family:var(--gs-sobre-m);font-size:.7rem;letter-spacing:.1em;color:#ffffffbf}
.gs-sc .gs-sobre-norms img{width:40px;height:auto;vertical-align:-6px;margin-left:.75rem}
/* Sello de visado · firma */
.gs-sc .gs-sobre-visado-sec{padding:4.5rem 0;background:var(--gs-bg)}
.gs-sc .gs-sobre-visado{background:#fff;border:1px solid var(--gs-border);border-left:4px solid var(--gs-yellow);border-radius:var(--gs-radius-lg);box-shadow:var(--gs-shadow-md);padding:2rem 1.75rem;display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:center}
.gs-sc .gs-sobre-sello{width:150px;height:150px;flex:none;border-radius:50%;border:2px solid var(--gs-blue);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--gs-blue);background:#fff;transform:rotate(-7deg);margin:0 auto;font-family:"Plus Jakarta Sans",sans-serif}
.gs-sc .gs-sobre-sello::before{content:"";position:absolute;inset:6px;border:1px solid var(--gs-blue);border-radius:50%;opacity:.55}
.gs-sc .gs-sobre-sello img{width:44px;height:auto;margin:2px 0}
.gs-sc .gs-sobre-sello-l1{font-size:.72rem;font-weight:800;letter-spacing:.16em}
.gs-sc .gs-sobre-sello-l2{font-size:.6rem;font-weight:700;letter-spacing:.22em}
.gs-sc .gs-sobre-sello-l3{font-size:.55rem;font-weight:700;letter-spacing:.18em;color:var(--gs-blue-l)}
.gs-sc .gs-sobre-visado-quote{font-family:"Plus Jakarta Sans",sans-serif;font-size:1.15rem;font-weight:700;color:var(--gs-blue);margin:0 0 .5rem}
.gs-sc .gs-sobre-visado p{font-size:.95rem;color:var(--gs-text-soft);margin:0;max-width:60ch}
.gs-sc .gs-sobre-visado p strong{color:var(--gs-blue)}
.gs-sc .gs-sobre-firma{margin-top:1.25rem;max-width:220px}
.gs-sc .gs-sobre-firma i{display:block;border-bottom:2px dotted var(--gs-border-strong);height:26px}
.gs-sc .gs-sobre-firma small{display:block;font-size:.62rem;color:var(--gs-text-soft);font-family:var(--gs-sobre-m);letter-spacing:.1em;margin-top:.35rem}
/* Responsive (mobile-first) */
@media (max-width:640px){.gs-sc .gs-sobre-art{opacity:.18;right:-5rem}}
@media (min-width:640px){.gs-sc .gs-sobre-vgrid{grid-template-columns:repeat(2,1fr)}.gs-sc .gs-sobre-mgrid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:820px){.gs-sc .gs-sobre-visado{grid-template-columns:auto 1fr auto;padding:2.5rem}}
@media (min-width:1024px){.gs-sc .gs-sobre-vgrid{grid-template-columns:repeat(4,1fr)}.gs-sc .gs-sobre-mgrid{grid-template-columns:repeat(4,1fr)}}
/* ===== Página contacto (gs-page-cont) ===== */
.gs-sc.gs-page-cont{--gs-cont-m:ui-monospace,Consolas,Menlo,monospace}

/* Hero compacto blueprint (modifica el .gs-hero global) */
.gs-sc .gs-hero.gs-cont-hero{padding:4.25rem 1.5rem 4.5rem;background-color:var(--gs-blue);background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px),linear-gradient(150deg,var(--gs-blue-d) 0%,var(--gs-blue) 55%,var(--gs-blue-l) 135%);background-size:24px 24px,24px 24px,100% 100%}
.gs-sc .gs-cont-hero .gs-hero-inner{padding-top:1.25rem;max-width:720px}
.gs-sc .gs-hero.gs-cont-hero h1{font-size:clamp(2rem,4.6vw,3.1rem)}
.gs-sc .gs-cont-frame{position:absolute;inset:14px;pointer-events:none;z-index:2}
.gs-sc .gs-cont-frame span{position:absolute;width:22px;height:22px;border:0 solid #ffffff80}
.gs-sc .gs-cont-tl{top:0;left:0;border-width:2px 0 0 2px}
.gs-sc .gs-cont-tr{top:0;right:0;border-width:2px 2px 0 0}
.gs-sc .gs-cont-bl{bottom:0;left:0;border-width:0 0 2px 2px}
.gs-sc .gs-cont-br{bottom:0;right:0;border-width:0 2px 2px 0}
.gs-sc .gs-cont-sheet{position:absolute;right:30px;bottom:4px;font-family:var(--gs-cont-m);font-weight:400;font-size:.65rem;letter-spacing:.14em;color:#ffffff8c}
.gs-sc .gs-cont-art{position:absolute;right:-.5rem;top:50%;transform:translateY(-50%);width:min(36vw,290px);height:auto;pointer-events:none;z-index:1}
.gs-sc .gs-cont-norms{margin:1.5rem 0 0;font-family:var(--gs-cont-m);font-size:.7rem;color:#ffffffbf}
.gs-sc .gs-cont-norms img{width:40px;height:auto;vertical-align:-6px;margin-left:.75rem}

/* Grid principal */
.gs-sc .gs-cont-main{padding:3.5rem 0 4.5rem}
.gs-sc .gs-cont-grid{display:grid;grid-template-columns:1fr;gap:2.75rem;align-items:start}
.gs-sc .gs-cont-h2{color:var(--gs-blue);font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;margin:0 0 .6rem}
.gs-sc .gs-cont-intro{color:var(--gs-text-soft);margin:0 0 1.5rem;max-width:52ch}

/* Tarjetas de datos */
.gs-sc .gs-cont-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}
.gs-sc .gs-cont-card{display:flex;gap:.95rem;align-items:center;background:#fff;border:1px solid var(--gs-border);border-radius:var(--gs-radius);padding:1rem 1.15rem;box-shadow:var(--gs-shadow-sm);text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.gs-sc a.gs-cont-card:hover{transform:translateX(4px);border-color:var(--gs-yellow);box-shadow:var(--gs-shadow-md)}
.gs-sc .gs-cont-ico{flex:none;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,rgba(0,61,122,.06),rgba(0,61,122,.13));display:flex;align-items:center;justify-content:center;color:var(--gs-blue)}
.gs-sc .gs-cont-ico svg{width:22px;height:22px}
.gs-sc .gs-cont-txt small{display:block;font-family:var(--gs-cont-m);font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;color:var(--gs-blue-l)}
.gs-sc .gs-cont-txt strong{display:block;color:var(--gs-text);font-size:1.02rem;line-height:1.35}
.gs-sc .gs-cont-sub{display:block;font-size:.85rem;color:var(--gs-text-soft)}
.gs-sc .gs-cont-wa{margin:1.4rem 0 0}

/* Qué pasa tras escribir */
.gs-sc .gs-cont-after{margin-top:2rem;background:#fff;border:1px dashed var(--gs-border-strong);border-radius:var(--gs-radius);padding:1.5rem 1.5rem 1.35rem}
.gs-sc .gs-cont-after h3{color:var(--gs-blue);font-size:1.1rem;margin:0 0 1rem}
.gs-sc .gs-cont-steps{list-style:none;margin:0;padding:0;counter-reset:gsc;display:flex;flex-direction:column;gap:.85rem}
.gs-sc .gs-cont-steps li{position:relative;padding-left:2.4rem;counter-increment:gsc;color:var(--gs-text-soft);font-size:.93rem;line-height:1.55}
.gs-sc .gs-cont-steps li::before{content:counter(gsc);position:absolute;left:0;top:.05rem;width:26px;height:26px;border-radius:999px;background:var(--gs-yellow);color:var(--gs-blue);font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.gs-sc .gs-cont-steps strong{color:var(--gs-text)}
.gs-sc .gs-cont-legal{margin:1.5rem 0 0;font-size:.8rem;color:var(--gs-text-soft)}

/* Tarjeta del formulario (cabecera de cajetín) */
.gs-sc .gs-cont-form{background:#fff;border:1px solid var(--gs-border);border-radius:var(--gs-radius-lg);box-shadow:var(--gs-shadow-lg);overflow:hidden}
.gs-sc .gs-cont-form-head{color:#fff;padding:1.75rem 2rem;background-image:linear-gradient(#ffffff0f 1px,transparent 1px),linear-gradient(90deg,#ffffff0f 1px,transparent 1px),linear-gradient(135deg,var(--gs-blue-d),var(--gs-blue));background-size:24px 24px,24px 24px,100% 100%}
.gs-sc .gs-cont-form-exp{display:block;font-family:var(--gs-cont-m);font-size:.68rem;letter-spacing:.14em;color:var(--gs-yellow);margin-bottom:.5rem}
.gs-sc .gs-cont-form-head h2{color:#fff;font-size:1.45rem;font-weight:800;margin:0 0 .4rem}
.gs-sc .gs-cont-form-head p{margin:0;color:#ffffffd9;font-size:.95rem}
.gs-sc .gs-cont-form-body{padding:1.75rem 2rem 2rem}
.gs-sc .gs-cont-form-note{margin:1rem 0 0;font-size:.8rem;color:var(--gs-text-soft)}

/* Campos CF7 bajo el namespace de la página */
.gs-sc.gs-page-cont .wpcf7 form p{margin:0 0 1.1rem}
.gs-sc.gs-page-cont .wpcf7 label{display:block;font-weight:600;font-size:.9rem;color:var(--gs-text)}
.gs-sc.gs-page-cont .wpcf7 .wpcf7-form-control-wrap{display:block;margin-top:.35rem}
.gs-sc.gs-page-cont .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=file]),
.gs-sc.gs-page-cont .wpcf7 textarea,
.gs-sc.gs-page-cont .wpcf7 select{width:100%;box-sizing:border-box;min-height:48px;padding:.7rem .95rem;font-size:16px;font-family:inherit;color:var(--gs-text);background:#fff;border:1.5px solid var(--gs-border-strong);border-radius:8px;transition:border-color .18s ease,box-shadow .18s ease}
.gs-sc.gs-page-cont .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=file]):focus,
.gs-sc.gs-page-cont .wpcf7 textarea:focus,
.gs-sc.gs-page-cont .wpcf7 select:focus{outline:0;border-color:var(--gs-yellow-d);box-shadow:0 0 0 3px rgba(255,193,7,.4)}
.gs-sc.gs-page-cont .wpcf7 textarea{min-height:130px;resize:vertical}
.gs-sc.gs-page-cont .wpcf7 input::placeholder,
.gs-sc.gs-page-cont .wpcf7 textarea::placeholder{color:#94a3b8}
.gs-sc.gs-page-cont .wpcf7 input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--gs-blue)}
.gs-sc.gs-page-cont .wpcf7 input[type=submit]{width:100%;min-height:52px;padding:.9rem 1.75rem;border:0;border-radius:var(--gs-radius-sm);background:linear-gradient(135deg,var(--gs-yellow) 0%,var(--gs-yellow-l) 100%);color:var(--gs-blue);font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(255,193,7,.35);transition:transform .2s,box-shadow .2s}
.gs-sc.gs-page-cont .wpcf7 input[type=submit]:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(255,193,7,.45)}
.gs-sc.gs-page-cont .wpcf7 input[type=submit]:focus-visible{outline:3px solid var(--gs-blue);outline-offset:2px}
.gs-sc.gs-page-cont .wpcf7 .wpcf7-not-valid-tip{color:#b91c1c;font-size:.8rem;margin-top:.3rem}
.gs-sc.gs-page-cont .wpcf7 .wpcf7-response-output{margin:1.25rem 0 0;padding:.8rem 1rem;border:1.5px solid var(--gs-border-strong);border-radius:8px;font-size:.9rem}
.gs-sc.gs-page-cont .wpcf7 .wpcf7-spinner{display:block;margin:.5rem auto 0}

/* Responsive */
@media (min-width:980px){.gs-sc .gs-cont-grid{grid-template-columns:.92fr 1.08fr;gap:3.25rem}}
@media (max-width:768px){.gs-sc .gs-cont-form-head,.gs-sc .gs-cont-form-body{padding-left:1.4rem;padding-right:1.4rem}}
@media (max-width:640px){.gs-sc .gs-cont-art{opacity:.3;right:-3.5rem}}
@media (prefers-reduced-motion:reduce){
  .gs-sc .gs-cont-card,
  .gs-sc.gs-page-cont .wpcf7 input,
  .gs-sc.gs-page-cont .wpcf7 textarea,
  .gs-sc.gs-page-cont .wpcf7 select{transition:none}
  .gs-sc a.gs-cont-card:hover,
  .gs-sc.gs-page-cont .wpcf7 input[type=submit]:hover{transform:none}
}


/* === RESTO v2.1 (2026-08-03): portada con foto hero (gs-hero.jpg) ===
   Override del hero de la portada: recupera la foto grande de la
   versión anterior integrada en la identidad v2 (velo azul + retícula).
   Anula por cascada la regla del bloque RESTO v2. */
.gs-sc .gs-hero.gs-home-hero{background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px),linear-gradient(100deg,rgba(0,27,54,.94) 0%,rgba(0,43,87,.85) 38%,rgba(0,61,122,.48) 66%,rgba(0,43,87,.24) 100%),url('/wp-content/uploads/2026/05/gs-hero.jpg');background-size:24px 24px,24px 24px,100% 100%,cover;background-position:0 0,0 0,0 0,center}
@media(min-width:1024px){.gs-sc .gs-hero.gs-home-hero{min-height:660px;display:flex;align-items:center}}
.gs-sc .gs-home-arcs{opacity:.45}
@media(max-width:767px){.gs-sc .gs-hero.gs-home-hero{background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px),linear-gradient(180deg,rgba(0,27,54,.93) 0%,rgba(0,43,87,.88) 70%,rgba(0,61,122,.72) 100%),url('/wp-content/uploads/2026/05/gs-hero.jpg')}}


/* === RESTO v2.2 (2026-08-03): portada, encuadre del hero ===
   Menos zoom aparente y protagonismo para la casa con paneles y el
   gamo: se ancla la foto abajo (center bottom) y se da más altura al
   marco, de modo que con background-size:cover entra más porción de
   imagen. Anula por cascada el bloque RESTO v2.1. */
.gs-sc .gs-hero.gs-home-hero{background-position:0 0,0 0,0 0,center bottom}
@media(min-width:1024px){.gs-sc .gs-hero.gs-home-hero{min-height:min(92vh,820px);display:flex;align-items:center}}
@media(max-width:767px){.gs-sc .gs-hero.gs-home-hero{background-position:0 0,0 0,0 0,center bottom}}


/* === RESTO v2.3 (2026-08-03): portada, velo del hero más ligero ===
   Con el encuadre anclado abajo, la casa con paneles y el gamo quedan
   bajo la zona densa del velo. Se aligera el degradado para que la
   escena se lea, y se compensa la legibilidad del texto con sombra
   suave (contraste blanco/fondo verificado >7:1 en la banda de texto).
   Anula por cascada los bloques RESTO v2.1 y v2.2. */
.gs-sc .gs-hero.gs-home-hero{background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px),linear-gradient(100deg,rgba(0,27,54,.90) 0%,rgba(0,43,87,.74) 34%,rgba(0,61,122,.34) 62%,rgba(0,43,87,.14) 100%),url('/wp-content/uploads/2026/05/gs-hero.jpg');background-size:24px 24px,24px 24px,100% 100%,cover;background-position:0 0,0 0,0 0,center bottom}
.gs-sc .gs-page-home .gs-home-hero .gs-hero-inner h1,
.gs-sc .gs-page-home .gs-home-hero .gs-hero-inner .gs-lead,
.gs-sc .gs-page-home .gs-home-hero .gs-hero-inner .gs-eyebrow{text-shadow:0 2px 14px rgba(0,27,54,.55)}
@media(max-width:767px){.gs-sc .gs-hero.gs-home-hero{background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px),linear-gradient(180deg,rgba(0,27,54,.90) 0%,rgba(0,43,87,.82) 62%,rgba(0,61,122,.62) 100%),url('/wp-content/uploads/2026/05/gs-hero.jpg');background-position:0 0,0 0,0 0,center bottom}}


/* === RESTO v2.4 (2026-08-03): portada, velo focalizado tras el texto ===
   El velo lineal oscurecía por igual la casa y los gamos. Se sustituye
   por un scrim radial centrado en la columna de texto: máxima densidad
   donde va el copy (contraste blanco >12:1) y caída rápida hacia la
   izquierda (casa con paneles) y la derecha (gamos), que quedan
   limpios. Un tinte vertical suave mantiene la unidad de marca.
   Anula por cascada los bloques RESTO v2.1, v2.2 y v2.3. */
.gs-sc .gs-hero.gs-home-hero{background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px),radial-gradient(52% 62% at 42% 34%,rgba(0,20,42,.92) 0%,rgba(0,31,62,.70) 45%,rgba(0,43,87,.22) 78%,rgba(0,43,87,0) 100%),linear-gradient(180deg,rgba(0,27,54,.34) 0%,rgba(0,38,77,.22) 50%,rgba(0,43,87,.38) 100%),url('/wp-content/uploads/2026/05/gs-hero.jpg');background-size:24px 24px,24px 24px,100% 100%,100% 100%,cover;background-position:0 0,0 0,0 0,0 0,center bottom}
@media(max-width:767px){.gs-sc .gs-hero.gs-home-hero{background-image:linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px),radial-gradient(120% 55% at 50% 22%,rgba(0,20,42,.93) 0%,rgba(0,31,62,.80) 55%,rgba(0,43,87,.42) 100%),linear-gradient(180deg,rgba(0,27,54,.30) 0%,rgba(0,38,77,.26) 55%,rgba(0,43,87,.44) 100%),url('/wp-content/uploads/2026/05/gs-hero.jpg');background-position:0 0,0 0,0 0,0 0,center bottom}}


/* ============================================================
   BLOG + CASOS v2 (2026-08-05)
   ============================================================ */
/* BLOG v2 · listado Kadence (.gs-page-blogls) + entrada (.gs-page-blogpost).
   Namespace vía body_class(). El loop vive fuera de .gs-sc: por eso los tokens
   se redeclaran también en el body. */
.gs-page-blogls,.gs-page-blogpost{--gs-blue:#003D7A;--gs-blue-d:#00264D;--gs-blue-l:#0A56A8;--gs-yellow:#FFC107;--gs-yellow-l:#FFD54F;--gs-text:#0F172A;--gs-text-soft:#475569;--gs-border:#E2E8F0;--gs-shadow-sm:0 1px 2px #00264d0d,0 4px 12px -4px #00264d1a;--gs-shadow-md:0 4px 10px -2px #00264d1a,0 14px 30px -10px #00264d29;--gs-m:ui-monospace,Consolas,Menlo,monospace;--gs-jak:"Plus Jakarta Sans",-apple-system,sans-serif;--gs-net:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px)}
:is(.gs-page-blogls,.gs-page-blogpost) :is(a,button,summary):focus-visible{outline:3px solid var(--gs-yellow);outline-offset:2px;border-radius:6px}
/* Rótulo técnico mono */
.gs-sc :is(.gs-blog-cajetin,.gs-blog-cota b,.gs-share-label,.gs-blog-toc-count),.gs-page-blogls .entry-meta{font-family:var(--gs-m);font-weight:400;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}

/* (a) Hero del tema fuera: /blog/ tenía DOS H1 (defecto de SEO) */
.gs-page-blogls .post-archive-hero-section{display:none!important}

/* (h) Heros v2: blueprint, cajetín de plano y cota con el gamo */
.gs-sc :is(.gs-archive-hero,.gs-blog-hero){position:relative;overflow:hidden;color:#fff;margin:0 0 2.5rem;padding:4.25rem 0 3rem;background-image:var(--gs-net),linear-gradient(150deg,var(--gs-blue-d) 0%,var(--gs-blue) 55%,var(--gs-blue-l) 135%);background-size:24px 24px,24px 24px,100% 100%}
.gs-sc .gs-blog-hero-photo{background-image:var(--gs-net),linear-gradient(150deg,#00264df2,#003d7ae0 52%,#00264dbd),var(--gs-hero-img,none);background-size:24px 24px,24px 24px,100% 100%,cover;background-position:0 0,0 0,0 0,center}
.gs-sc .gs-blog-cajetin{display:none;position:absolute;right:14px;bottom:14px;z-index:2;border:1px solid #ffffff59;background:#00264dcc;font-size:.6rem;color:#ffffffa6}
.gs-sc .gs-blog-cajetin span{display:block;padding:.32rem .65rem;border-top:1px solid #ffffff30}
.gs-sc .gs-blog-cajetin span:first-child{border-top:0;color:var(--gs-yellow);font-weight:700}
.gs-sc :is(.gs-archive-hero-inner,.gs-blog-hero-inner){position:relative;z-index:3;max-width:820px}
.gs-sc :is(.gs-archive-hero-title,.gs-blog-hero-title){margin:0 0 1rem;color:#fff;font-family:var(--gs-jak);font-size:clamp(1.85rem,4.6vw,2.9rem);font-weight:800;line-height:1.14;letter-spacing:-.025em}
.gs-sc .gs-archive-hero-lead{margin:0;max-width:62ch;font-size:1.06rem;color:#ffffffd9}
.gs-sc .gs-blog-cota{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem;margin:2rem 0 0}
.gs-sc .gs-blog-cota i{display:block;position:relative;flex:none;width:150px;height:9px;border-left:2px solid var(--gs-yellow);border-right:2px solid var(--gs-yellow)}
.gs-sc .gs-blog-cota i::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--gs-yellow)}
.gs-sc .gs-blog-cota b{color:#ffffffbf}
.gs-sc .gs-blog-cota img{flex:none;width:34px}
.gs-sc a.gs-blog-cat-chip{position:relative;display:inline-flex;align-items:center;min-height:34px;margin:0 0 1rem;padding:.35rem .95rem;background:var(--gs-yellow);border-radius:999px;color:var(--gs-blue);font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;transition:.2s}
.gs-sc a.gs-blog-cat-chip::after{content:"";position:absolute;inset:-7px 0}
.gs-sc a.gs-blog-cat-chip:hover{background:var(--gs-yellow-l);color:var(--gs-blue);transform:translateY(-1px)}
.gs-sc .gs-blog-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin:.35rem 0 0;font-size:.85rem;color:#ffffffcc}
.gs-sc .gs-blog-meta-item{display:inline-flex;align-items:center;gap:.4rem}
.gs-sc .gs-blog-meta-item svg{flex:none;color:var(--gs-yellow)}

/* (i) Barra de progreso de lectura */
.gs-read-progress{position:fixed;top:0;left:0;right:0;height:4px;background:#003d7a1a;z-index:9999;pointer-events:none}
.gs-read-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#F0A800,#FFC107 45%,#FFD54F);transition:width .1s linear}

/* (g) Rejilla del listado: 1 / 2 / 3 columnas */
.gs-page-blogls #archive-container{display:grid;grid-template-columns:minmax(0,1fr);gap:1.75rem;max-width:1200px;margin:0 auto;padding-bottom:1rem;list-style:none}
.gs-page-blogls #archive-container>li{display:flex;min-width:0;width:100%;margin:0;padding:0}

/* (b) Tarjeta v2 */
.gs-page-blogls .loop-entry{position:relative;display:flex;min-width:0;flex-direction:column;width:100%;padding:0;overflow:hidden;background:#fff;border:1px solid var(--gs-border);border-top:3px solid var(--gs-yellow);border-radius:14px;box-shadow:var(--gs-shadow-sm);transition:.25s cubic-bezier(.2,.7,.3,1.2)}
.gs-page-blogls .loop-entry:hover{transform:translateY(-2px);box-shadow:var(--gs-shadow-md);border-color:#CBD5E1;border-top-color:var(--gs-yellow)}

/* (c) Miniatura 3:2: anula kadence-thumbnail-ratio-2-3 */
.gs-page-blogls a.post-thumbnail{display:block;margin:0;background:#EEF2F7}
.gs-page-blogls .post-thumbnail-inner{position:relative;display:block;height:0;margin:0;padding-bottom:66.667%!important;overflow:hidden}
.gs-page-blogls .post-thumbnail-inner img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:.45s cubic-bezier(.2,.7,.3,1.1)}
.gs-page-blogls .loop-entry:hover .post-thumbnail-inner img{transform:scale(1.045)}

/* Chip (d), título (e), meta y extracto */
.gs-page-blogls .entry-content-wrap{display:flex;flex-direction:column;flex:1;padding:1.35rem 1.35rem 1.5rem}
.gs-page-blogls .entry-taxonomies{margin:0 0 .8rem;line-height:1}
.gs-page-blogls .category-links{display:inline-flex;flex-wrap:wrap;gap:.4rem;font-size:0}
.gs-page-blogls .entry-taxonomies a{position:relative;display:inline-flex;align-items:center;padding:.32rem .72rem;background:#FFF8E6;border:1px solid #FFE49A;border-radius:999px;color:var(--gs-blue);font-size:.69rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.gs-page-blogls .entry-taxonomies a::after{content:"";position:absolute;inset:-11px 0}
.gs-page-blogls .entry-title{margin:0 0 .55rem;font-family:var(--gs-jak);font-size:1.12rem;font-weight:800;line-height:1.28;letter-spacing:-.02em}
.gs-page-blogls .entry-title a{color:var(--gs-blue);text-decoration:none}
.gs-page-blogls .entry-title a:hover{color:var(--gs-blue-l);text-decoration:underline;text-underline-offset:3px}
.gs-page-blogls .entry-meta{margin:0 0 .7rem;color:var(--gs-text-soft)}
.gs-page-blogls .entry-meta time.updated{display:none}
.gs-page-blogls .entry-summary{margin:0 0 1.25rem;color:var(--gs-text-soft);font-size:.93rem;line-height:1.62}
.gs-page-blogls .entry-summary p{margin:0;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

/* (f) Botón outline «Leer más» con flecha */
.gs-page-blogls .entry-footer{margin-top:auto;border:0}
.gs-page-blogls :is(.entry-actions,.more-link-wrap){margin:0;padding:0}
.gs-page-blogls a.post-more-link{display:inline-flex;align-items:center;gap:.55rem;min-height:48px;padding:.7rem 1.15rem;background:transparent;border:2px solid var(--gs-blue);border-radius:10px;color:var(--gs-blue);font-family:var(--gs-jak);font-size:.88rem;font-weight:700;text-decoration:none;transition:.2s}
.gs-page-blogls a.post-more-link:hover{background:var(--gs-blue);color:#fff;transform:translateY(-1px)}
.gs-page-blogls a.post-more-link svg{width:18px;height:18px;transition:transform .2s}
.gs-page-blogls a.post-more-link:hover svg{transform:translateX(3px)}

/* Índice de contenidos de la entrada */
.gs-sc .gs-blog-toc{max-width:760px;margin:0 auto 2.25rem;overflow:hidden;background:#fff;border:1px solid var(--gs-border);border-top:3px solid var(--gs-yellow);border-radius:14px;box-shadow:var(--gs-shadow-sm)}
.gs-sc .gs-blog-toc>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:52px;padding:.9rem 1.25rem;cursor:pointer;list-style:none;font-family:var(--gs-jak);font-weight:800;color:var(--gs-blue)}
.gs-sc .gs-blog-toc>summary::-webkit-details-marker{display:none}
.gs-sc .gs-blog-toc-kicker{display:inline-flex;align-items:center;gap:.6rem;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase}
.gs-sc .gs-blog-toc-count{color:var(--gs-text-soft)}
.gs-sc .gs-blog-toc-list{margin:0;padding:.1rem 1.25rem 1.1rem;list-style:none}
.gs-sc .gs-blog-toc-list li+li{border-top:1px dashed var(--gs-border)}
.gs-sc .gs-blog-toc-list a{display:flex;align-items:center;min-height:48px;padding:.7rem .35rem;color:var(--gs-text);font-size:.95rem;line-height:1.4;text-decoration:none;transition:.2s}
.gs-sc .gs-blog-toc-list a.is-current{background:#F5F8FC;box-shadow:inset 3px 0 0 var(--gs-yellow);color:var(--gs-blue);font-weight:700}

/* Artículo: H2 con cota y anclaje del índice */
.gs-sc.gs-blog-content{max-width:760px;margin:0 auto;padding:0 1.5rem 1rem;color:var(--gs-text);font-size:1.04rem;line-height:1.75}
.gs-sc.gs-blog-content h2{margin:2.5rem 0 .9rem;padding-top:.9rem;border-top:3px solid var(--gs-yellow);font-family:var(--gs-jak);font-size:clamp(1.4rem,3vw,1.85rem);font-weight:800;line-height:1.2;letter-spacing:-.02em;color:var(--gs-blue);scroll-margin-top:96px}

/* (j) Compartir */
.gs-sc .gs-blog-share{max-width:760px;margin:0 auto 1.75rem;padding:0 1.5rem}
.gs-sc .gs-blog-share-inner{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.6rem .85rem;background:#fff;border:1px solid var(--gs-border);border-radius:999px;box-shadow:var(--gs-shadow-sm)}
.gs-sc .gs-share-label{margin-right:.35rem;padding-left:.4rem;color:var(--gs-text-soft)}
.gs-sc .gs-share-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;background:#F8FAFC;border:1px solid var(--gs-border);border-radius:50%;color:var(--gs-blue);cursor:pointer;transition:.2s}
.gs-sc .gs-share-btn svg{width:19px;height:19px}
.gs-sc .gs-share-btn:hover{background:var(--gs-blue);border-color:var(--gs-blue);color:#fff;transform:translateY(-2px)}
.gs-sc .gs-share-feedback{opacity:0;font-size:.8rem;font-weight:700;color:var(--gs-blue);transition:opacity .2s}
.gs-sc .gs-blog-share.is-copied .gs-share-feedback{opacity:1}

/* (j) Servicios relacionados */
.gs-sc .gs-blog-services{max-width:760px;margin:2.5rem auto 0;padding:0 1.5rem}
.gs-sc .gs-blog-services-inner{padding:1.5rem;background:#fff;border:1px solid var(--gs-border);border-top:3px solid var(--gs-yellow);border-radius:14px;box-shadow:var(--gs-shadow-sm)}
.gs-sc .gs-blog-services-inner h3{margin:0 0 1rem;font-family:var(--gs-jak);font-size:1.05rem;font-weight:800;color:var(--gs-blue)}
.gs-sc .gs-blog-services-list{display:flex;flex-wrap:wrap;gap:.75rem}
.gs-sc .gs-blog-services-list a{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:.7rem 1.1rem;background:#F8FAFC;border:1px solid var(--gs-border);border-radius:10px;color:var(--gs-blue);font-size:.92rem;font-weight:600;text-decoration:none;transition:.2s}
.gs-sc .gs-blog-services-list a:hover{background:#fff;border-color:var(--gs-blue);transform:translateY(-2px)}

/* CTA final */
.gs-sc .gs-blog-cta{background-image:var(--gs-net),linear-gradient(140deg,var(--gs-blue-d),var(--gs-blue) 70%);background-size:24px 24px,24px 24px,100% 100%}

/* Responsive (mobile-first) */
@media (min-width:600px){.gs-page-blogls #archive-container{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:768px){.gs-sc :is(.gs-archive-hero,.gs-blog-hero){padding:5.25rem 0 3.5rem}.gs-sc.gs-blog-content{font-size:1.08rem}}
@media (min-width:900px){.gs-sc .gs-blog-cajetin{display:block}}
@media (min-width:1024px){.gs-page-blogls #archive-container{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Movimiento reducido */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}
:is(.gs-page-blogls,.gs-page-blogpost) *{transition-duration:.01ms!important;animation-duration:.01ms!important}
:is(.gs-page-blogls,.gs-page-blogpost) :is(*:hover,*:hover *){transform:none!important}}


/* ============================================================
   ZONAS + COMPARADOR v2 (2026-08-05)
   ============================================================ */
/* ===== Landings de zona — «Gamo Solar v2» (.gs-sc.gs-zona-v2) =====
   Sustituye los estilos inline que retira transform-zonas.php:
     .gs-hero        ← style="background:var(--gs-blue); min-height:240px;"
     .gs-hero-inner  ← style="padding:56px 0 48px;"
   Solo decoración del esqueleto común: el texto de cada página no cambia. */
.gs-sc.gs-zona-v2{--gs-zona-m:ui-monospace,Consolas,Menlo,monospace}

/* — Hero azul con retícula blueprint — */
.gs-sc.gs-zona-v2 .gs-hero{position:relative;overflow:hidden;color:#fff;min-height:240px;background-color:var(--gs-blue);background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0,rgba(255,255,255,.07) 1px,transparent 1px,transparent 24px),repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0,rgba(255,255,255,.07) 1px,transparent 1px,transparent 24px),linear-gradient(150deg,var(--gs-blue-d) 0%,var(--gs-blue) 55%,var(--gs-blue-l) 135%)}
/* El cajetín se ancla al hero: los contenedores intermedios quedan sin posicionar */
.gs-sc.gs-zona-v2 .gs-hero .gs-wrap,.gs-sc.gs-zona-v2 .gs-hero .gs-hero-inner{position:static}
.gs-sc.gs-zona-v2 .gs-hero-inner{padding:56px 0 48px}

/* — Línea de cota con el gamo (decorativa, aria-hidden) — */
.gs-sc.gs-zona-v2 .gs-zona-cota{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem;margin:2rem 0 0}
.gs-sc.gs-zona-v2 .gs-zona-cota-bar{display:block;flex:none;position:relative;width:96px;height:9px;border-left:2px solid var(--gs-yellow);border-right:2px solid var(--gs-yellow)}
.gs-sc.gs-zona-v2 .gs-zona-cota-bar::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--gs-yellow)}
.gs-sc.gs-zona-v2 .gs-zona-cota img{width:44px;height:auto;flex:none}
.gs-sc.gs-zona-v2 .gs-zona-cota b{font-family:var(--gs-zona-m);font-weight:400;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffffc4}

/* — Cajetín de plano: esquina inferior derecha, monoespaciada, borde amarillo — */
.gs-sc.gs-zona-v2 .gs-zona-cajetin{display:none;position:absolute;right:14px;bottom:14px;z-index:2;border:1px solid var(--gs-yellow);background:#00264dcc;font-family:var(--gs-zona-m);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffffa6;text-align:left}
.gs-sc.gs-zona-v2 .gs-zona-cajetin span{display:block;padding:.32rem .7rem;border-top:1px solid #ffffff30}
.gs-sc.gs-zona-v2 .gs-zona-cajetin span:first-child{border-top:0;color:var(--gs-yellow);font-weight:700}

/* — Bandas alternas: el gris inline #f3f4f6 pasa al token --gs-bg con trama sutil — */
.gs-sc.gs-zona-v2 .gs-band[style*="#f3f4f6"]{background:var(--gs-bg)!important;background-image:linear-gradient(#003d7a0b 1px,transparent 1px),linear-gradient(90deg,#003d7a0b 1px,transparent 1px)!important;background-size:24px 24px!important}

/* — Tarjetas .gs-why-item v2: filo superior amarillo + hover — */
.gs-sc.gs-zona-v2 .gs-why-item{background:var(--gs-surface);border:1px solid var(--gs-border);border-top:3px solid var(--gs-yellow);border-radius:var(--gs-radius);box-shadow:var(--gs-shadow-sm);padding:1.2rem 1.25rem 1.35rem;transition:transform .22s ease,box-shadow .22s ease}
.gs-sc.gs-zona-v2 .gs-why-item:hover{transform:translateY(-2px);box-shadow:var(--gs-shadow-md)}
.gs-sc.gs-zona-v2 .gs-why-body strong{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:1.02rem;font-weight:800;line-height:1.3;color:var(--gs-blue);margin-bottom:.45rem}
.gs-sc.gs-zona-v2 .gs-why-body p{margin:0;font-size:.9rem;line-height:1.6;color:var(--gs-text-soft)}

/* — FAQ v2: <details> con borde, flecha rotante, tap ≥48px y foco visible — */
.gs-sc.gs-zona-v2 .gs-faq{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}
.gs-sc.gs-zona-v2 .gs-faq-item{background:var(--gs-surface);border:1px solid var(--gs-border);border-radius:var(--gs-radius);box-shadow:var(--gs-shadow-sm);overflow:hidden}
.gs-sc.gs-zona-v2 .gs-faq-item[open]{border-color:var(--gs-border-strong);box-shadow:var(--gs-shadow-md)}
.gs-sc.gs-zona-v2 .gs-faq-q{position:relative;display:flex;align-items:center;min-height:48px;padding:.85rem 3rem .85rem 1.1rem;cursor:pointer;list-style:none;font-weight:700;line-height:1.35;color:var(--gs-blue);transition:background .2s ease}
.gs-sc.gs-zona-v2 .gs-faq-q::-webkit-details-marker{display:none}
.gs-sc.gs-zona-v2 .gs-faq-q::after{content:"";position:absolute;right:1.15rem;top:50%;width:9px;height:9px;margin-top:-7px;border-right:2px solid var(--gs-blue-l);border-bottom:2px solid var(--gs-blue-l);transform:rotate(45deg);transition:transform .2s ease,margin-top .2s ease}
.gs-sc.gs-zona-v2 .gs-faq-item[open] .gs-faq-q::after{transform:rotate(225deg);margin-top:-2px;border-color:var(--gs-yellow-d) }
.gs-sc.gs-zona-v2 .gs-faq-q:hover{background:var(--gs-bg)}
.gs-sc.gs-zona-v2 .gs-faq-a{padding:0 1.1rem 1.05rem;border-top:1px dashed var(--gs-border)}
.gs-sc.gs-zona-v2 .gs-faq-a p{margin:.8rem 0 0;line-height:1.6;color:var(--gs-text-soft)}

/* — Foco visible en toda la landing — */
.gs-sc.gs-zona-v2 :focus-visible{outline:3px solid var(--gs-yellow);outline-offset:2px}
.gs-sc.gs-zona-v2 .gs-hero :focus-visible{box-shadow:0 0 0 6px #00264d8c}
.gs-sc.gs-zona-v2 .gs-faq-q:focus-visible{outline-offset:-3px}

/* — Movimiento reducido — */
@media (prefers-reduced-motion:reduce){
.gs-sc.gs-zona-v2 *,.gs-sc.gs-zona-v2 *::after{transition:none!important;animation:none!important}
.gs-sc.gs-zona-v2 .gs-why-item:hover{transform:none}
}

/* — El cajetín solo tiene sitio en pantallas anchas — */
@media (min-width:900px){.gs-sc.gs-zona-v2 .gs-zona-cajetin{display:block}}
/* ===== Página comparador de tarifas (gs-page-comp) ===== */
.gs-sc.gs-page-comp{--gs-comp-m:ui-monospace,Consolas,Menlo,monospace;--gs-comp-net:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px)}
.gs-sc .gs-comp-kicker{margin:0 0 .55rem;font-family:var(--gs-comp-m);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gs-blue-l)}
.gs-sc .gs-comp-kicker.is-light{color:var(--gs-yellow)}
.gs-sc .gs-comp-h2{margin:0 0 1rem;color:var(--gs-blue);font-size:clamp(1.45rem,3vw,2.05rem);font-weight:800;line-height:1.2}
.gs-sc .gs-comp-accent{color:var(--gs-yellow)}
.gs-sc .gs-comp-hero{position:relative;overflow:hidden;color:#fff;padding:3.5rem 0 3rem;background-color:var(--gs-blue);background-image:var(--gs-comp-net),linear-gradient(150deg,var(--gs-blue-d) 0%,var(--gs-blue) 55%,var(--gs-blue-l) 135%);background-size:24px 24px,24px 24px,100% 100%}
.gs-sc .gs-comp-frame{position:absolute;inset:14px;pointer-events:none;z-index:2}
.gs-sc .gs-comp-frame span{position:absolute;width:22px;height:22px;border:0 solid #ffffff80}
.gs-sc .gs-comp-tl{top:0;left:0;border-width:2px 0 0 2px}
.gs-sc .gs-comp-tr{top:0;right:0;border-width:2px 2px 0 0}
.gs-sc .gs-comp-bl{bottom:0;left:0;border-width:0 0 2px 2px}
.gs-sc .gs-comp-br{bottom:0;right:0;border-width:0 2px 2px 0}
.gs-sc .gs-comp-cajetin{display:none;position:absolute;right:14px;bottom:14px;z-index:2;border:1px solid #ffffff59;background:#00264dcc;font-family:var(--gs-comp-m);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffffa6;text-align:left}
.gs-sc .gs-comp-cajetin span{display:block;padding:.32rem .7rem;border-top:1px solid #ffffff30}
.gs-sc .gs-comp-cajetin span:first-child{border-top:0;color:var(--gs-yellow);font-weight:700}
.gs-sc .gs-comp-hero-inner{position:relative;z-index:3;max-width:780px}
.gs-sc .gs-comp-hero h1{margin:0 0 1rem;color:#fff;font-size:clamp(1.8rem,4.4vw,2.8rem);font-weight:800;line-height:1.15}
.gs-sc .gs-comp-lead{margin:0;max-width:64ch;color:#ffffffd9;font-size:1.05rem;line-height:1.6}
.gs-sc .gs-comp-hero-cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.75rem}
.gs-sc .gs-comp-cota{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem;margin:2rem 0 0}
.gs-sc .gs-comp-cota-bar{display:block;flex:none;position:relative;width:96px;height:9px;border-left:2px solid var(--gs-yellow);border-right:2px solid var(--gs-yellow)}
.gs-sc .gs-comp-cota-bar::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--gs-yellow)}
.gs-sc .gs-comp-cota img{width:44px;height:auto;flex:none}
.gs-sc .gs-comp-cota b{font-family:var(--gs-comp-m);font-weight:400;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffffc4}
.gs-sc .gs-comp-stats{list-style:none;margin:1.9rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:1.1rem 2.5rem}
.gs-sc .gs-comp-stats strong{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:1.7rem;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--gs-yellow);font-variant-numeric:tabular-nums}
.gs-sc .gs-comp-stats span{display:block;font-size:.85rem;color:#ffffffb8;margin-top:.2rem}
.gs-sc .gs-comp-intro{padding:3.25rem 0 .75rem}
.gs-sc .gs-comp-intro-txt{margin:0;max-width:78ch;color:var(--gs-text-soft);line-height:1.65}
.gs-sc .gs-comp-tool{padding:2.5rem 0 3rem;background-color:var(--gs-bg);background-image:linear-gradient(#003d7a08 1px,transparent 1px),linear-gradient(90deg,#003d7a08 1px,transparent 1px);background-size:24px 24px;scroll-margin-top:90px}
.gs-sc .gs-comp-faq{padding-top:3rem;padding-bottom:3.5rem}
.gs-sc .gs-comp-final{position:relative;overflow:hidden;color:#fff;padding:4rem 1.5rem;background-color:var(--gs-blue);background-image:var(--gs-comp-net),linear-gradient(140deg,var(--gs-blue-d),var(--gs-blue) 70%);background-size:24px 24px,24px 24px,100% 100%}
.gs-sc .gs-comp-final-inner{position:relative;z-index:2;max-width:760px;margin:0 auto;text-align:center}
.gs-sc .gs-comp-final h2{margin:0 0 .8rem;color:#fff;font-size:clamp(1.4rem,3.2vw,2.05rem);font-weight:800;line-height:1.2}
.gs-sc .gs-comp-final h2 img{width:46px;height:auto;vertical-align:-6px;margin-left:.4rem}
.gs-sc .gs-comp-final p{margin:0 auto 1.9rem;max-width:62ch;color:#ffffffd6;font-size:1.02rem;line-height:1.6}
.gs-sc .gs-comp-final-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem}
@media (min-width:768px){.gs-sc .gs-comp-hero{padding:4.25rem 0 3.75rem}}
@media (min-width:900px){.gs-sc .gs-comp-cajetin{display:block}}


/* ============================================================
   CERTIFICADO ENERGÉTICO v2 (2026-08-07) — página titular
   /certificado-eficiencia-energetica/ (.gs-sc.gs-page-cert)
   Misma estética «oficina técnica» que las demás páginas de
   cabecera (/servicios/, /comparador-tarifas/): retícula
   blueprint, marco de esquinas, cajetín de hoja, línea de cota
   con el gamo dorado y kickers monoespaciados.
   Reutiliza gs-inst-fiscal, gs-process, gs-faq y gs-form-section.
   ============================================================ */

.gs-sc.gs-page-cert{
  --gs-cert-m:ui-monospace,Consolas,Menlo,monospace;
  --gs-cert-net:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);
}

/* ── Kickers y titulares (lenguaje común de las cabeceras) ── */
.gs-sc .gs-cert-kicker{margin:0 0 .55rem;font-family:var(--gs-cert-m);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gs-blue-l)}
.gs-sc .gs-cert-kicker.is-light{color:var(--gs-yellow)}
.gs-sc .gs-cert-h2{margin:0 0 1rem;color:var(--gs-blue);font-size:clamp(1.45rem,3vw,2.05rem);font-weight:800;line-height:1.2}
.gs-sc .gs-cert-accent{color:var(--gs-yellow)}
.gs-sc .gs-cert-intro-txt{margin:0;max-width:78ch;color:var(--gs-text-soft);line-height:1.65}

/* ── Marco de esquinas y cajetín de hoja ── */
.gs-sc .gs-cert-frame{position:absolute;inset:14px;pointer-events:none;z-index:2}
.gs-sc .gs-cert-frame span{position:absolute;width:22px;height:22px;border:0 solid #ffffff80}
.gs-sc .gs-cert-tl{top:0;left:0;border-width:2px 0 0 2px}
.gs-sc .gs-cert-tr{top:0;right:0;border-width:2px 2px 0 0}
.gs-sc .gs-cert-bl{bottom:0;left:0;border-width:0 0 2px 2px}
.gs-sc .gs-cert-br{bottom:0;right:0;border-width:0 2px 2px 0}
.gs-sc .gs-cert-cajetin{display:none;position:absolute;right:14px;bottom:14px;z-index:2;border:1px solid #ffffff59;background:#00264dcc;font-family:var(--gs-cert-m);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffffa6;text-align:left}
.gs-sc .gs-cert-cajetin span{display:block;padding:.32rem .7rem;border-top:1px solid #ffffff30}
.gs-sc .gs-cert-cajetin span:first-child{border-top:0;color:var(--gs-yellow);font-weight:700}

/* ── Hero blueprint ── */
.gs-sc .gs-cert-hero{position:relative;overflow:hidden;color:#fff;padding:3.5rem 0 3rem;background-color:var(--gs-blue);background-image:var(--gs-cert-net),linear-gradient(150deg,var(--gs-blue-d) 0%,var(--gs-blue) 55%,var(--gs-blue-l) 135%);background-size:24px 24px,24px 24px,100% 100%}
.gs-sc .gs-cert-hero-inner{position:relative;z-index:3;max-width:820px}
.gs-sc .gs-cert-hero h1{margin:0 0 1rem;color:#fff;font-size:clamp(1.8rem,4.4vw,2.8rem);font-weight:800;line-height:1.15}
.gs-sc .gs-cert-lead{margin:0;max-width:64ch;color:#ffffffd9;font-size:1.05rem;line-height:1.6}
.gs-sc .gs-cert-lead strong{color:#fff}
.gs-sc .gs-cert-hero-cta{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.75rem}
.gs-sc .gs-cert-cota{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem;margin:2rem 0 0}
.gs-sc .gs-cert-cota-bar{display:block;flex:none;position:relative;width:96px;height:9px;border-left:2px solid var(--gs-yellow);border-right:2px solid var(--gs-yellow)}
.gs-sc .gs-cert-cota-bar::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--gs-yellow)}
.gs-sc .gs-cert-cota img{width:44px;height:auto;flex:none}
.gs-sc .gs-cert-cota b{font-family:var(--gs-cert-m);font-weight:400;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffffc4}
.gs-sc .gs-cert-stats{list-style:none;margin:1.9rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:1.1rem 2.5rem}
.gs-sc .gs-cert-stats strong{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:1.7rem;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--gs-yellow);font-variant-numeric:tabular-nums}
.gs-sc .gs-cert-stats span{display:block;font-size:.85rem;color:#ffffffb8;margin-top:.2rem}

/* ── Precio cerrado (sobre retícula clara, como la zona de herramienta del comparador) ── */
.gs-sc .gs-cert-precio-sec{padding:3.25rem 0 3.5rem;background-color:var(--gs-bg);background-image:linear-gradient(#003d7a08 1px,transparent 1px),linear-gradient(90deg,#003d7a08 1px,transparent 1px);background-size:24px 24px;scroll-margin-top:90px;text-align:center}
.gs-sc .gs-cert-precio-sec .gs-cert-intro-txt{margin:0 auto;max-width:66ch}
.gs-sc .gs-cert-precios{display:grid;grid-template-columns:1fr;gap:1.5rem;margin:2.5rem 0 0;text-align:left}
.gs-sc .gs-cert-precio{
  position:relative;background:#fff;border:1px solid var(--gs-border);
  border-top:3px solid var(--gs-yellow);border-radius:var(--gs-radius-lg);
  padding:2rem 1.75rem;box-shadow:var(--gs-shadow-md);
  display:flex;flex-direction:column;
  transition:transform .25s cubic-bezier(.2,.7,.3,1.2), box-shadow .25s;
}
.gs-sc .gs-cert-precio:hover{transform:translateY(-4px);box-shadow:var(--gs-shadow-lg)}
.gs-sc .gs-cert-precio--dos{border-top-color:var(--gs-blue-l)}
.gs-sc .gs-cert-precio-tag{align-self:flex-start;background:var(--gs-blue);color:#fff;font-family:var(--gs-cert-m);font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.3rem .75rem;border-radius:var(--gs-radius-pill);margin-bottom:1.25rem}
.gs-sc .gs-cert-precio--dos .gs-cert-precio-tag{background:var(--gs-blue-l)}
.gs-sc .gs-cert-precio-num{display:flex;align-items:baseline;gap:.5rem;margin:0}
.gs-sc .gs-cert-precio-num strong{font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(2.6rem,7vw,3.4rem);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--gs-blue);font-variant-numeric:tabular-nums}
.gs-sc .gs-cert-precio-num span{font-size:1rem;font-weight:700;color:var(--gs-text-soft)}
.gs-sc .gs-cert-precio-inc{display:inline-flex;align-items:center;gap:.45rem;align-self:flex-start;margin:.85rem 0 1.25rem;padding:.35rem .8rem;background:rgba(255,193,7,.16);border:1px solid rgba(255,193,7,.5);border-radius:var(--gs-radius-pill);font-size:.8rem;font-weight:700;color:var(--gs-blue)}
.gs-sc .gs-cert-precio-inc::before{content:"";width:16px;height:16px;flex:none;border-radius:50%;background:var(--gs-yellow) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23003D7A' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5L20 7'/></svg>") center/10px no-repeat}
.gs-sc .gs-cert-precio-desc{color:var(--gs-text-soft);font-size:.98rem;margin:0}
.gs-sc .gs-cert-precio .gs-tick{margin-top:1.25rem}
.gs-sc .gs-cert-precio-nota{max-width:760px;margin:2rem auto 0;padding-top:1.25rem;border-top:1px dashed var(--gs-border);font-size:.88rem;color:var(--gs-text-soft)}
.gs-sc .gs-cert-precio-cta{justify-content:center;margin-top:2rem}

/* ── Cobertura nacional ── */
.gs-sc .gs-cert-esp{padding:3.5rem 0 4rem;background:linear-gradient(180deg,var(--gs-bg) 0%,#fff 100%);text-align:center}
.gs-sc .gs-cert-esp .gs-cert-h2{margin-left:auto;margin-right:auto;max-width:820px}
.gs-sc .gs-cert-esp-intro{max-width:74ch;margin:0 auto;color:var(--gs-text-soft);font-size:1.05rem;line-height:1.65}
.gs-sc .gs-cert-esp-intro strong{color:var(--gs-blue)}
.gs-sc .gs-cert-esp-grid{list-style:none;margin:2.25rem auto 0;padding:0;max-width:960px;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center}
.gs-sc .gs-cert-esp-grid li{background:#fff;border:1px solid var(--gs-border);border-radius:var(--gs-radius-pill);padding:.5rem 1rem;font-size:.88rem;font-weight:600;color:var(--gs-blue);box-shadow:var(--gs-shadow-sm);display:inline-flex;align-items:center;gap:.45rem}
.gs-sc .gs-cert-esp-grid li::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--gs-yellow)}
.gs-sc .gs-cert-esp-nota{max-width:680px;margin:1.75rem auto 0;font-size:.88rem;color:var(--gs-text-soft)}

/* ── Banda final blueprint ── */
.gs-sc .gs-cert-final{position:relative;overflow:hidden;color:#fff;padding:4rem 1.5rem;background-color:var(--gs-blue);background-image:var(--gs-cert-net),linear-gradient(140deg,var(--gs-blue-d),var(--gs-blue) 70%);background-size:24px 24px,24px 24px,100% 100%}
.gs-sc .gs-cert-final-inner{position:relative;z-index:3;max-width:760px;margin:0 auto;text-align:center}
.gs-sc .gs-cert-final h2{margin:0 0 .8rem;color:#fff;font-size:clamp(1.4rem,3.2vw,2.05rem);font-weight:800;line-height:1.2}
.gs-sc .gs-cert-final p{margin:0 auto 1.9rem;max-width:62ch;color:#ffffffd6;font-size:1.02rem;line-height:1.6}
.gs-sc .gs-cert-final-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem}

/* ── Ajustes de bloques reutilizados en esta página ── */
.gs-sc.gs-page-cert .gs-inst-fiscal-pct{font-size:clamp(3.6rem,9vw,5.2rem)}
.gs-sc.gs-page-cert .gs-process-head .gs-cert-kicker,
.gs-sc.gs-page-cert .gs-faq-head .gs-cert-kicker,
.gs-sc.gs-page-cert .gs-head .gs-cert-kicker{text-align:center}
.gs-sc.gs-page-cert .gs-visual .gs-cert-kicker{margin-bottom:1rem}

/* ── Timeline de 4 pasos (la base del sistema es de 5) ── */
@media (min-width:901px){
  .gs-sc .gs-timeline-4{grid-template-columns:repeat(4,1fr)}
}
@media (min-width:768px){
  .gs-sc .gs-cert-hero{padding:4.25rem 0 3.75rem}
}
@media (min-width:820px){
  .gs-sc .gs-cert-precios{grid-template-columns:1fr 1fr;gap:2rem}
  .gs-sc .gs-cert-precio{padding:2.5rem 2.25rem}
}
@media (min-width:900px){
  .gs-sc .gs-cert-cajetin{display:block}
}

/* ── Escala de calificación como etiqueta energética (2026-08-07) ──────────
   Sustituye a las barras planas heredadas (.gs-scale): bandas en forma de
   flecha como en la etiqueta oficial, letras alineadas en columna, panel con
   retícula de plano y pie explicativo. Solo aplica en .gs-page-cert.
   Nota: el box-shadow no sirve con clip-path (lo recorta); se usa
   filter:drop-shadow, que sigue la silueta de la flecha.
   ------------------------------------------------------------------------ */
.gs-sc.gs-page-cert .gs-visual{
  position:relative;
  background-color:var(--gs-blue-d);
  background-image:
    linear-gradient(#ffffff10 1px,transparent 1px),
    linear-gradient(90deg,#ffffff10 1px,transparent 1px),
    linear-gradient(160deg,var(--gs-blue-d) 0%,var(--gs-blue) 100%);
  background-size:22px 22px,22px 22px,100% 100%;
}
.gs-sc .gs-cert-escala{ margin:0; }
.gs-sc .gs-cert-escala-list{
  list-style:none; margin:1.35rem 0 0; padding:0;
  display:flex; flex-direction:column; gap:.42rem;
}
/* Columna fija a la derecha para las notas: así la banda G nunca las empuja
   fuera del panel, pase lo que pase con el ancho. */
.gs-sc .gs-cert-escala-list li{
  display:grid; grid-template-columns:minmax(0,1fr) 5.2rem;
  align-items:center; gap:.6rem;
}
.gs-sc .gs-cert-banda{
  width:var(--w); min-width:6.5rem; height:36px;
  display:flex; align-items:center; padding-left:.9rem;
  background:var(--c); color:var(--t);
  font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:1.02rem; letter-spacing:.02em;
  border-radius:5px 0 0 5px;
  clip-path:polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.22));
  transition:width .3s cubic-bezier(.2,.7,.3,1.2);
}
.gs-sc .gs-cert-escala-list li:hover .gs-cert-banda{ width:calc(var(--w) + 4%); }
.gs-sc .gs-cert-banda-nota{
  font-family:var(--gs-cert-m); font-size:.62rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:#ffffff8f;
  line-height:1.3;
}
.gs-sc .gs-cert-escala-pie{
  margin:1.4rem 0 0; padding-top:.9rem; border-top:1px dashed #ffffff2e;
  font-size:.8rem; line-height:1.55; color:#ffffffab;
}
/* En pantallas estrechas la columna de notas se comería el recorrido de las
   bandas: se quita la columna y la nota pasa debajo, alineada a la derecha. */
@media (max-width:600px){
  .gs-sc .gs-cert-escala-list{ gap:.34rem; }
  .gs-sc .gs-cert-escala-list li{ grid-template-columns:1fr; gap:.15rem; }
  .gs-sc .gs-cert-banda{ min-width:5.5rem; height:34px; }
  .gs-sc .gs-cert-banda-nota{ justify-self:end; font-size:.58rem; }
}
@media (prefers-reduced-motion:reduce){
  .gs-sc .gs-cert-banda{ transition:none; }
  .gs-sc .gs-cert-escala-list li:hover .gs-cert-banda{ width:var(--w); }
}

/* ============================================================
   CEE/CAE v2 (2026-09-30) — página unificada de certificados
   (2953), rediseño aprobado sobre el lienzo de Claude Design.
   Sustituye al bloque v1 del mismo día. Todo va bajo .gs-sc y
   reutiliza los tokens del design system (--gs-*, --gs-cert-*).
   · hero en dos columnas con fichas gemelas CEE / CAE
   · barra «En esta página»
   · tarjetas «¿Cuál necesitas?» + ejemplo de 4 pasos
   · bandas de parte: CEE con la escala A–G, CAE con foto
   ============================================================ */

/* ── Hero: texto + fichas gemelas ── */
.gs-sc .gs-cert-hero-grid{ position:relative; z-index:3; display:grid; grid-template-columns:minmax(0,1fr); gap:2.25rem; }
.gs-sc .gs-cert-hero-grid .gs-cert-hero-inner{ max-width:none; }
.gs-sc .gs-cert-hero-grid .gs-cert-stats{ gap:1.1rem 1.9rem; }
.gs-sc .gs-cert-fichas{ display:flex; flex-direction:column; gap:1rem; }
.gs-sc a.gs-cert-ficha{
  display:flex; gap:1.1rem; padding:1.3rem 1.35rem;
  border-radius:18px; background:#00264dab; border:1px solid #ffffff2e;
  color:#fff; text-decoration:none;
  box-shadow:0 24px 48px -24px #00000073;
  transition:transform .2s ease, border-color .2s ease;
}
.gs-sc a.gs-cert-ficha:hover{ transform:translateY(-3px); border-color:#ffc10799; color:#fff; }
.gs-sc a.gs-cert-ficha:focus-visible{ outline:3px solid var(--gs-yellow); outline-offset:3px; }
.gs-sc .gs-cert-ficha-tag{
  flex:none; width:68px; height:68px; display:flex; align-items:center; justify-content:center;
  border:3px solid var(--gs-yellow); border-radius:14px; color:var(--gs-yellow);
  font-family:"Plus Jakarta Sans",sans-serif; font-size:1.32rem; font-weight:800; letter-spacing:.04em;
}
.gs-sc .gs-cert-ficha--cae .gs-cert-ficha-tag{ background:var(--gs-yellow); color:var(--gs-blue); }
.gs-sc .gs-cert-ficha-body{ display:flex; flex-direction:column; gap:.38rem; flex:1 1 auto; min-width:0; }
.gs-sc .gs-cert-ficha-k{ font-family:var(--gs-cert-m); font-size:.66rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gs-yellow); }
.gs-sc .gs-cert-ficha-t{ font-family:"Plus Jakarta Sans",sans-serif; font-size:1.1rem; font-weight:700; line-height:1.25; color:#fff; }
.gs-sc .gs-cert-ficha-d{ font-size:.88rem; line-height:1.55; color:#ffffffcc; }
.gs-sc .gs-cert-ficha-pie{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem .75rem; margin-top:.35rem; }
.gs-sc .gs-cert-ficha-ir{ font-weight:700; font-size:.88rem; color:var(--gs-yellow); white-space:nowrap; }
.gs-sc .gs-cert-miniag{ display:flex; align-items:flex-end; gap:3px; }
.gs-sc .gs-cert-miniag i{ display:block; width:13px; border-radius:2px; }
.gs-sc .gs-cert-miniag i:nth-child(1){ height:8px;  background:#00A651; }
.gs-sc .gs-cert-miniag i:nth-child(2){ height:11px; background:#50B848; }
.gs-sc .gs-cert-miniag i:nth-child(3){ height:14px; background:#BFD730; }
.gs-sc .gs-cert-miniag i:nth-child(4){ height:17px; background:#FFF200; }
.gs-sc .gs-cert-miniag i:nth-child(5){ height:20px; background:#FDB913; }
.gs-sc .gs-cert-miniag i:nth-child(6){ height:23px; background:#F37021; }
.gs-sc .gs-cert-miniag i:nth-child(7){ height:26px; background:#ED1C24; }
.gs-sc .gs-cert-ficha-foto{
  display:block; width:92px; height:34px; object-fit:cover; object-position:60% 60%;
  border-radius:6px; border:1px solid #ffffff40; filter:saturate(.8);
}
@media (min-width:1080px){
  .gs-sc .gs-cert-hero-grid{ grid-template-columns:minmax(0,1fr) 440px; align-items:center; gap:3.5rem; }
}
/* Entre 900 y 1079 px las fichas van a lo ancho y el cajetín del plano las pisaría */
@media (min-width:900px) and (max-width:1079.98px){
  .gs-sc.gs-page-cert .gs-cert-hero .gs-cert-cajetin{ display:none; }
}
@media (max-width:420px){
  .gs-sc a.gs-cert-ficha{ padding:1.1rem; gap:.8rem; }
  .gs-sc .gs-cert-ficha-tag{ width:54px; height:54px; font-size:1.08rem; }
}

/* ── Barra «En esta página» ── */
.gs-sc .gs-cert-nav{ background:#fff; border-bottom:1px solid var(--gs-border); box-shadow:0 8px 20px -16px #00264d59; }
.gs-sc .gs-cert-nav .gs-wrap{
  display:flex; align-items:center; gap:.6rem; padding-top:.7rem; padding-bottom:.7rem;
  overflow-x:auto; scrollbar-width:none;
}
.gs-sc .gs-cert-nav .gs-wrap::-webkit-scrollbar{ display:none; }
.gs-sc .gs-cert-nav-k{
  flex:none; margin-right:.3rem; font-family:var(--gs-cert-m); font-size:.68rem; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:var(--gs-text-soft);
}
.gs-sc .gs-cert-nav a{
  flex:none; display:inline-flex; align-items:center; gap:.5rem; min-height:44px; padding:0 1.05rem;
  border:1px solid var(--gs-border); border-radius:var(--gs-radius-pill); background:#fff;
  font-weight:600; font-size:.88rem; color:var(--gs-blue); text-decoration:none; white-space:nowrap;
  transition:border-color .2s ease;
}
.gs-sc .gs-cert-nav a:hover{ border-color:var(--gs-blue); color:var(--gs-blue); }
.gs-sc .gs-cert-nav a:focus-visible{ outline:3px solid var(--gs-blue); outline-offset:2px; }
.gs-sc .gs-cert-nav b{
  padding:.18rem .42rem; border:2px solid var(--gs-blue); border-radius:6px;
  font-family:"Plus Jakarta Sans",sans-serif; font-size:.66rem; font-weight:800; line-height:1;
}
.gs-sc .gs-cert-nav b.is-cae{ border-color:var(--gs-yellow); background:var(--gs-yellow); }
.gs-sc .gs-cert-nav a.gs-cert-nav-cta{ margin-left:auto; border:0; border-radius:10px; background:var(--gs-yellow); color:var(--gs-blue-d); font-weight:700; }
.gs-sc .gs-cert-nav a.gs-cert-nav-cta:hover{ background:var(--gs-yellow-l); }
@media (max-width:959.98px){
  .gs-sc .gs-cert-nav a.gs-cert-nav-cta{ display:none; }
}
/* En móvil la barra baja de línea y los chips CEE/CAE se quedan en su etiqueta */
@media (max-width:640px){
  .gs-sc .gs-cert-nav-k{ display:none; }
  .gs-sc .gs-cert-nav .gs-wrap{ flex-wrap:wrap; overflow-x:visible; gap:.5rem; }
  .gs-sc .gs-cert-nav-l{ display:none; }
}

/* ── «¿Cuál necesitas?»: tarjetas ── */
.gs-sc .gs-cert-cual{ display:grid; gap:1.6rem; margin-top:2.5rem; }
.gs-sc .gs-cert-cual-card{
  display:flex; flex-direction:column; background:#fff; border:1px solid var(--gs-border);
  border-radius:var(--gs-radius-lg); overflow:hidden; box-shadow:var(--gs-shadow-md);
}
.gs-sc .gs-cert-cual-cab{
  display:flex; align-items:center; gap:1.1rem; padding:1.5rem 1.75rem;
  background-color:var(--gs-blue); background-image:var(--gs-cert-net); background-size:24px 24px;
}
.gs-sc .gs-cert-cual-card--cae .gs-cert-cual-cab{
  background-color:var(--gs-yellow);
  background-image:linear-gradient(#00264d12 1px,transparent 1px),linear-gradient(90deg,#00264d12 1px,transparent 1px);
}
.gs-sc .gs-cert-cual-tag{
  flex:none; width:60px; height:60px; display:flex; align-items:center; justify-content:center;
  border:3px solid var(--gs-yellow); border-radius:12px; color:var(--gs-yellow);
  font-family:"Plus Jakarta Sans",sans-serif; font-size:1.25rem; font-weight:800;
}
.gs-sc .gs-cert-cual-card--cae .gs-cert-cual-tag{ border-color:var(--gs-blue); background:var(--gs-blue); color:var(--gs-yellow); }
.gs-sc .gs-cert-cual-cab h3{ margin:0 0 .3rem; color:#fff; font-size:1.28rem; font-weight:800; line-height:1.25; }
.gs-sc .gs-cert-cual-card--cae .gs-cert-cual-cab h3{ color:var(--gs-blue-d); }
.gs-sc .gs-cert-cual-sub{
  margin:0; font-family:var(--gs-cert-m); font-size:.66rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--gs-yellow);
}
.gs-sc .gs-cert-cual-card--cae .gs-cert-cual-sub{ color:var(--gs-blue); }
.gs-sc .gs-cert-cual-dl{ margin:0; padding:.4rem 1.75rem .2rem; }
.gs-sc .gs-cert-cual-dl > div{
  display:grid; grid-template-columns:9.5rem minmax(0,1fr); gap:1rem;
  padding:.85rem 0; border-bottom:1px dashed var(--gs-border-strong);
}
.gs-sc .gs-cert-cual-dl > div:last-child{ border-bottom:0; }
.gs-sc .gs-cert-cual-dl dt{
  padding-top:.2rem; font-family:var(--gs-cert-m); font-size:.68rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:var(--gs-blue-l);
}
.gs-sc .gs-cert-cual-dl dd{ margin:0; font-size:.95rem; line-height:1.55; color:var(--gs-text); }
.gs-sc a.gs-cert-cual-ir{
  display:inline-flex; align-items:center; min-height:44px; margin:auto 1.75rem 1.2rem; padding-top:.5rem;
  font-weight:700; color:var(--gs-blue); text-decoration:none;
}
.gs-sc a.gs-cert-cual-ir:hover{ color:var(--gs-blue-l); }
@media (min-width:900px){
  .gs-sc .gs-cert-cual{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.75rem; }
}
@media (max-width:599.98px){
  .gs-sc .gs-cert-cual-cab{ padding:1.2rem 1.25rem; }
  .gs-sc .gs-cert-cual-dl{ padding:.3rem 1.25rem .1rem; }
  .gs-sc .gs-cert-cual-dl > div{ grid-template-columns:1fr; gap:.25rem; }
  .gs-sc a.gs-cert-cual-ir{ margin:auto 1.25rem .9rem; }
}

/* ── Ejemplo de 4 pasos ── */
.gs-sc .gs-cert-pasos{
  margin-top:1.6rem; padding:1.9rem 2.2rem 2.1rem;
  background:#fff; border:1px solid var(--gs-border); border-radius:var(--gs-radius-lg);
}
.gs-sc .gs-cert-pasos-cab{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.3rem 1rem; margin-bottom:1.5rem; }
.gs-sc .gs-cert-pasos-cab .gs-cert-kicker{ margin:0; }
.gs-sc .gs-cert-pasos-cab h3{ margin:0; color:var(--gs-blue); font-size:1.35rem; font-weight:800; }
.gs-sc .gs-cert-pasos-cab p:last-child{ margin:0; color:var(--gs-text-soft); font-size:.95rem; }
.gs-sc .gs-cert-pasos-list{ list-style:none; margin:0; padding:0; display:grid; gap:1.4rem; }
.gs-sc .gs-cert-pasos-list li{ position:relative; display:flex; flex-direction:column; gap:.45rem; margin:0; padding:0; }
.gs-sc .gs-cert-pasos-list li::before{ content:none; }
.gs-sc .gs-cert-pasos-list strong{ font-family:"Plus Jakarta Sans",sans-serif; font-size:1.02rem; color:var(--gs-blue); }
.gs-sc .gs-cert-pasos-list li > span:last-child{ font-size:.9rem; line-height:1.55; color:var(--gs-text-soft); }
.gs-sc .gs-cert-paso-n{
  width:46px; height:46px; display:flex; align-items:center; justify-content:center; border-radius:50%;
  font-family:"Plus Jakarta Sans",sans-serif; font-size:.8rem; font-weight:800;
}
.gs-sc .gs-cert-paso-n.is-cee{ background:var(--gs-blue); color:var(--gs-yellow); }
.gs-sc .gs-cert-paso-n.is-obra{ background:var(--gs-border); color:var(--gs-blue); }
.gs-sc .gs-cert-paso-n.is-obra svg{ width:20px; height:20px; }
.gs-sc .gs-cert-paso-n.is-cae{ background:var(--gs-yellow); color:var(--gs-blue); }
@media (min-width:900px){
  .gs-sc .gs-cert-pasos-list{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:2.8rem; }
  .gs-sc .gs-cert-pasos-list li:not(:last-child)::after{
    content:""; position:absolute; top:17px; right:-1.85rem; width:12px; height:12px;
    border-top:2px solid var(--gs-border-strong); border-right:2px solid var(--gs-border-strong); transform:rotate(45deg);
  }
}
@media (max-width:899.98px){
  .gs-sc .gs-cert-pasos{ padding:1.4rem 1.25rem 1.5rem; }
  .gs-sc .gs-cert-pasos-list{ gap:0; margin-left:22px; border-left:2px dashed var(--gs-border-strong); }
  .gs-sc .gs-cert-pasos-list li{ display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:.9rem; row-gap:.2rem; margin-left:-21px; padding-bottom:1.1rem; }
  .gs-sc .gs-cert-pasos-list li:last-child{ padding-bottom:0; }
  .gs-sc .gs-cert-paso-n{ grid-row:span 2; width:40px; height:40px; font-size:.7rem; }
}

/* ── «Qué es»: tarjeta «Cuándo lo necesitas» ── */
.gs-sc .gs-cert-cuando{
  background:#fff; border:1px solid var(--gs-border); border-radius:var(--gs-radius-lg);
  padding:1.9rem 2rem; box-shadow:var(--gs-shadow-md);
}
.gs-sc .gs-cert-cuando .gs-tick{ margin:0; }
/* .gs-cee-split > div > p (0,2,2) pisaba el rótulo: se le devuelve su estilo */
.gs-sc .gs-cee-split > div > p.gs-cert-kicker{ margin:0 0 .55rem; font-size:.72rem; color:var(--gs-blue-l); }

/* ── Bandas de parte (CEE / CAE) ── */
.gs-sc .gs-cert-parte{
  position:relative; overflow:hidden; color:#fff;
  background-color:#003D7A;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:24px 24px;
  padding:3.5rem 0 3.6rem;
  border-top:4px solid #FFC107;
}
.gs-sc .gs-cert-parte .gs-wrap{ display:grid; gap:2.25rem; align-items:center; }
.gs-sc .gs-cert-parte-txt{ display:flex; align-items:flex-start; gap:1.75rem; }
.gs-sc .gs-cert-parte-tag{
  flex:none; display:inline-flex; align-items:center; justify-content:center;
  min-width:7.5rem; padding:.9rem 1.1rem;
  font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:2.6rem; letter-spacing:.04em; line-height:1;
  color:#FFC107; border:3px solid #FFC107; border-radius:14px;
}
.gs-sc .gs-cert-parte--cae .gs-cert-parte-tag{ background:#FFC107; color:#003D7A; }
.gs-sc .gs-cert-parte-txt p.gs-cert-parte-n{
  margin:0 0 .35rem; font-family:var(--gs-cert-m); font-size:.72rem; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:#FFC107;
}
.gs-sc .gs-cert-parte-txt h2{ color:#fff; margin:0 0 .6rem; font-size:clamp(1.55rem,2.8vw,2.3rem); line-height:1.15; }
.gs-sc .gs-cert-parte-txt p{ margin:0; max-width:56ch; color:rgba(255,255,255,.86); line-height:1.6; }
.gs-sc .gs-cert-parte-cta{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.4rem; }
.gs-sc .gs-cert-parte a.gs-cert-cta-linea{ background:transparent; color:#fff; border:1px solid #ffffff73; box-shadow:none; }
.gs-sc .gs-cert-parte a.gs-cert-cta-linea:hover{ border-color:var(--gs-yellow); color:var(--gs-yellow); background:transparent; }
.gs-sc .gs-cert-parte a.gs-cert-cta-linea:focus-visible{ outline:3px solid var(--gs-yellow); outline-offset:2px; }

/* CEE: la escala A–G en su tarjeta oscura con esquinas */
.gs-sc.gs-page-cert .gs-cert-parte-visual{
  position:relative; padding:1.6rem 1.75rem 1.4rem; border:1px solid #ffffff2e; border-radius:18px;
  box-shadow:0 30px 60px -30px #00000080;
}
.gs-sc .gs-cert-parte-visual::before,
.gs-sc .gs-cert-parte-visual::after{ content:""; position:absolute; width:20px; height:20px; pointer-events:none; }
.gs-sc .gs-cert-parte-visual::before{ left:-10px; top:-10px; border-left:2px solid var(--gs-yellow); border-top:2px solid var(--gs-yellow); }
.gs-sc .gs-cert-parte-visual::after{ right:-10px; bottom:-10px; border-right:2px solid var(--gs-yellow); border-bottom:2px solid var(--gs-yellow); }
.gs-sc .gs-cert-parte-visual .gs-cert-escala-list{ margin-top:.9rem; }
/* Letras de la escala algo mayores: la G blanca sobre rojo oficial pasa AA como texto grande */
.gs-sc .gs-cert-parte-visual .gs-cert-banda{ font-size:1.17rem; }
@media (max-width:600px){
  .gs-sc .gs-cert-parte-visual .gs-cert-escala-list li{ position:relative; }
  .gs-sc .gs-cert-parte-visual .gs-cert-escala-list li:first-child .gs-cert-banda-nota{ position:absolute; right:0; top:50%; transform:translateY(-50%); }
  .gs-sc .gs-cert-parte-visual .gs-cert-banda-nota{ font-size:.68rem; color:#ffffffc4; }
}

/* CAE: la foto, templada para que case con el azul de la web */
.gs-sc .gs-cert-parte-foto{ position:relative; margin:0; }
.gs-sc .gs-cert-parte-foto::before,
.gs-sc .gs-cert-parte-foto::after{ content:""; position:absolute; z-index:3; width:24px; height:24px; pointer-events:none; }
.gs-sc .gs-cert-parte-foto::before{ left:-12px; top:-12px; border-left:2px solid var(--gs-yellow); border-top:2px solid var(--gs-yellow); }
.gs-sc .gs-cert-parte-foto::after{ right:-12px; bottom:-12px; border-right:2px solid var(--gs-yellow); border-bottom:2px solid var(--gs-yellow); }
.gs-sc .gs-cert-parte-foto-marco{
  position:relative; aspect-ratio:16/9; border-radius:18px; overflow:hidden;
  border:1px solid #ffffff38; box-shadow:0 34px 70px -30px #00000099; background:var(--gs-blue-d);
}
.gs-sc .gs-cert-parte-foto-marco img{
  position:absolute; inset:0; width:100%; height:100%; max-width:none;
  object-fit:cover; object-position:55% 50%; filter:saturate(.78) contrast(1.04);
}
.gs-sc .gs-cert-parte-foto-marco::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(0deg, #00264dbf 0%, #00264d00 34%),
    linear-gradient(90deg, #003d7ae6 0%, #003d7a00 34%),
    #00264d38;
}
.gs-sc .gs-cert-parte-foto figcaption{
  position:absolute; left:1rem; bottom:.9rem; z-index:2;
  display:inline-flex; align-items:center; gap:.55rem; padding:.42rem .72rem;
  border:1px solid #ffffff4d; border-radius:8px; background:#00264dc7;
  font-family:var(--gs-cert-m); font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#fff;
}
.gs-sc .gs-cert-parte-foto figcaption b{ color:var(--gs-yellow); font-weight:700; }
.gs-sc .gs-cert-parte-foto figcaption b{ white-space:nowrap; }
@media (max-width:420px){
  .gs-sc .gs-cert-parte-foto figcaption{ right:1rem; gap:.45rem; font-size:.58rem; letter-spacing:.08em; }
}

@media (min-width:1000px){
  .gs-sc .gs-cert-parte .gs-wrap{ grid-template-columns:minmax(0,1fr) minmax(0,500px); gap:3.5rem; }
  .gs-sc .gs-cert-parte--cae .gs-wrap{ grid-template-columns:minmax(0,1fr) minmax(0,580px); }
}
/* Tramo intermedio: la etiqueta encima del texto para que no se estreche la columna */
@media (min-width:1000px) and (max-width:1199.98px){
  .gs-sc .gs-cert-parte-txt{ flex-direction:column; gap:1rem; }
  .gs-sc .gs-cert-parte-tag{ font-size:2rem; min-width:6rem; padding:.7rem .9rem; }
  .gs-sc .gs-cert-parte--cae .gs-wrap{ grid-template-columns:minmax(0,1fr) minmax(0,520px); }
}
@media (max-width:999.98px){
  .gs-sc .gs-cert-parte-foto-marco::after{
    background:linear-gradient(0deg, #00264dbf 0%, #00264d00 38%), #00264d38;
  }
}
@media (max-width:640px){
  .gs-sc .gs-cert-parte{ padding:2.6rem 0 2.8rem; }
  .gs-sc .gs-cert-parte-txt{ flex-direction:column; gap:1.1rem; }
  .gs-sc .gs-cert-parte-tag{ font-size:2rem; min-width:6rem; padding:.7rem .9rem; }
  .gs-sc .gs-cert-parte-cta .gs-cta{ width:100%; justify-content:center; }
  .gs-sc.gs-page-cert .gs-cert-parte-visual{ padding:1.25rem 1.1rem 1.1rem; }
}
@media (prefers-reduced-motion:reduce){
  .gs-sc a.gs-cert-ficha, .gs-sc .gs-cert-nav a{ transition:none; }
  .gs-sc a.gs-cert-ficha:hover{ transform:none; }
}
/* Tarjetas numeradas de la parte CAE: el número no pisa el título */
.gs-sc.gs-page-cert .gs-card > .gs-num + h3{ padding-right:2rem; }
.gs-sc.gs-page-cert [id]{ scroll-margin-top:110px; }

/* ============================================================
   FRANJA FABRICANTES + NORMATIVA en móvil (2026-10-03)
   Portada (9) y /servicios/ (228). Las marcas van pegadas en el HTML
   (sin espacios, separadas por <span class="gs-svc-dot">) y heredan
   .entry-content{word-break:break-word} de Kadence: en móvil «WALLBOX»
   se partía a media palabra (WAL|LBOX, WALLB|OX). En la normativa,
   «ITC-BT-52» se partía por el guion y quedaban «·» y «(DA 50.ª)»
   huérfanos. Cada marca y cada norma pasa a ser una pieza entera;
   por debajo de 640 px se quitan los separadores y se deja aire.
   En escritorio y tableta el aspecto no cambia.
   ============================================================ */
.gs-sc .gs-svc-makers,
.gs-sc .gs-home-norms{word-break:normal;overflow-wrap:normal}
.gs-sc .gs-svc-makers{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline}
.gs-sc .gs-home-norms > span{white-space:nowrap}
@media (max-width:640px){
  /* la onda de la portada no se ve (relleno = fondo): son 80 px de hueco muerto */
  .gs-sc.gs-page-home > .gs-wave{display:none}
  .gs-sc .gs-home-trust{padding-top:2.5rem}
  .gs-sc .gs-svc-makers{gap:.15rem .6rem;letter-spacing:.08em;max-width:20rem;margin-left:auto;margin-right:auto}
  /* el punto queda como pieza de ancho 0; con display:none las marcas se fundirían en una sola pieza */
  .gs-sc .gs-svc-makers .gs-svc-dot{font-size:0;margin:0}
  .gs-sc .gs-home-norms .gs-home-sep{display:none}
  .gs-sc .gs-home-norms{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:1rem;letter-spacing:.08em}
  .gs-sc .gs-home-norms > span:not(.gs-home-sep){padding:.2rem .6rem;border:1px solid var(--gs-border);border-radius:999px;background:#fff;line-height:1.5}
  .gs-sc .gs-home-espec{margin-top:1rem}
}

/* ============================================================
   COTA DEL HERO en móvil (2026-10-03)
   Portada (9): «De tu primera llamada a tu primera factura con sol».
   La etiqueta hereda flex:none de .gs-svc-cota-label: no encoge y
   mide 414 px. En móvil la cota tiene 224-316 px, así que el texto
   se salía por la derecha (lo recortaba el overflow del hero) y el
   gamo le caía encima. Por debajo de 768 px el texto sube encima de
   la línea de cota, como en un plano, en renglones equilibrados; la
   línea queda debajo de lado a lado y el gamo apoyado en ella (el
   hueco de 1,25rem es lo que mide el gamo por encima de la línea).
   Desde 768 px no cambia nada.
   ============================================================ */
@media (max-width:767px){
  .gs-sc .gs-home-cota{flex-wrap:wrap;row-gap:1.25rem}
  .gs-sc .gs-home-cota .gs-svc-cota-label{order:-1;flex:1 1 100%;line-height:1.6;text-wrap:balance}
  .gs-sc .gs-home-cota .gs-svc-cota-label + .gs-svc-linea{display:none}
  .gs-sc .gs-home-cota .gs-svc-gamo{bottom:7px}
}


/* ============================================================
   COTA en móvil para TODAS las páginas (2026-10-03)
   Generaliza el bloque «COTA DEL HERO en móvil» (que solo cubría
   .gs-home-cota) a cualquier .gs-svc-cota. Servicios (228):
   «De la primera visita técnica a la puesta en marcha» mide 380 px
   con flex:none y se salía hasta x≈454 en 320-412 px. Mismas reglas
   que la portada: por debajo de 768 px el texto sube encima de la
   línea en renglones equilibrados, la línea queda debajo de lado a
   lado y el gamo apoyado en ella. En la portada los valores son
   idénticos a los del bloque anterior, así que allí no cambia nada.
   Desde 768 px no cambia nada.
   ============================================================ */
@media (max-width:767px){
  .gs-sc .gs-svc-cota{flex-wrap:wrap;row-gap:1.25rem}
  .gs-sc .gs-svc-cota .gs-svc-cota-label{order:-1;flex:1 1 100%;line-height:1.6;text-wrap:balance}
  .gs-sc .gs-svc-cota .gs-svc-cota-label + .gs-svc-linea{display:none}
  .gs-sc .gs-svc-cota .gs-svc-gamo{bottom:7px}
}
