
/* ================= HERO (Module 1) ================= */

/* ================= VARIABLES ================= */
:root{
  --sk-font-sans: 'Nunito Sans', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --sk-font-title: 'Nunito', var(--sk-font-sans);
  --sk-red:#E0444D;
  --sk-max:1200px;
}

/* ================= RESET & FIX DIVI ================= */
html, body{ overflow-x:hidden; }
.et_pb_section, .et_pb_row, .et_pb_code_inner{ overflow:visible !important; }
.sk-hero > p{ display:contents; margin:0; } /* evita <p> automáticos de Divi */

/* ================= HERO BASE ================= */
.sk-hero{
  position:relative; isolation:isolate;
  overflow:hidden;
  background-image:
    var(--sk-bg),
    radial-gradient(120% 120% at 90% 40%, #8fc8cf 0%, #4b7f91 35%, #254b63 58%, #152b42 78%, #0c1d31 100%);
  background-size:cover, cover;
  background-position:center 50%, center 50%;
  min-height:560px;
  font-family:var(--sk-font-sans);
}

/* ================= CAPAS ================= */
.sk-hero__grain{
  position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.05;
  background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEEAAABBAQMAAACljJqZAAAABlBMVEX///////9Z0l2YAAAAIUlEQVQY02NgQAJGJgYGBgYz0IhFQ2g0oJGBgYHhGAJbQAAkTgCwqg0K1AAAAAElFTkSuQmCC");
  background-size:64px 64px;
}
.sk-hero__ovl{
  position:absolute; inset:0; z-index:2;
  background:linear-gradient(90deg,
    rgba(8,20,34,.86) 0%,
    rgba(8,20,34,.80) 26%,
    rgba(8,20,34,.62) 42%,
    rgba(8,20,34,.30) 62%,
    rgba(8,20,34,.10) 78%,
    rgba(8,20,34,0)   100%);
}
.sk-hero__teal{
  position:absolute; inset:0; z-index:3; pointer-events:none;
  background:radial-gradient(80% 90% at 78% 40%,
    rgba(66,160,176,.35) 0%,
    rgba(66,160,176,.18) 45%,
    rgba(66,160,176,0)   70%);
}

/* ================= DESVANECIDO INFERIOR ================= */
.sk-hero__fade{
  position:absolute; left:0; right:0; bottom:-1px; height:120px; z-index:9;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.92) 82%, #fff 100%);
}

/* ================= CONTENIDO ================= */
.sk-hero__container{
  position:relative; z-index:6;
  width:100%; max-width:var(--sk-max);
  margin-inline:auto;
  padding:0 48px;
  min-height:inherit;
  display:grid; place-items:center;
  text-align:center; color:#fff;
}
.sk-hero__title{
  margin:0 0 12px;
  text-transform:uppercase;
  font-family:var(--sk-font-title);
  font-weight:800;
  letter-spacing:.045em;
  font-size:48px; line-height:1.12;
  color:#fff;
  text-shadow:0 6px 22px rgba(0,0,0,.45), 0 2px 8px rgba(0,0,0,.25);
}
.sk-hero__subtitle{
  margin:0 0 22px;
  font-family:var(--sk-font-sans);
  font-weight:400;
  font-size:18px; line-height:1.55; color:#f2f6fb;
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}
.sk-hero__cta{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; min-width:200px; padding:12px 24px;
  background:var(--sk-red); color:#fff; text-decoration:none;
  font-family:var(--sk-font-sans);
  font-weight:600;
  border-radius:999px; font-size:16px;
  box-shadow:0 10px 26px rgba(224,68,77,.38);
  transition:transform .15s ease, background-color .2s ease, box-shadow .2s ease;
}
.sk-hero__cta:hover{
  background:#C43A41;
  transform:translateY(-1px);
  box-shadow:0 12px 30px rgba(224,68,77,.48);
}

/* ================= IMAGEN PROTAGONISTA ================= */
.sk-hero__fg{
  position:absolute !important;
  bottom:0;
  right:clamp(0px, var(--fg-right-offset), 8vw);
  width:var(--fg-size); height:auto;
  object-fit:contain; object-position:bottom right;
  z-index:5 !important;
  filter:drop-shadow(0 20px 28px rgba(0,0,0,.28));
  -webkit-mask-image:linear-gradient(to bottom,#000 68%,rgba(0,0,0,0) 100%);
          mask-image:linear-gradient(to bottom,#000 68%,rgba(0,0,0,0) 100%);
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  margin:0 !important;
}

/* ================= RESPONSIVE ================= */
@media (max-width:980px){
  .sk-hero__title{ font-size:34px; }
  .sk-hero__subtitle{ font-size:16px; }
  .sk-hero__fg{
    position:relative !important;
    right:auto; margin:0 auto; display:block;
    width:70%; max-width:340px;
    transform:translateY(20px);
  }
  .sk-hero__container{ padding:80px 20px 60px; }
}


/* ================= LO QUE HACEMOS (Module 2) ================= */
.sk-section{
  position:relative;
  padding:80px 20px;
  background:#fff;
}
.sk-container{
  max-width:1200px;
  margin:0 auto;
  text-align:center;
}

/* ================= TITULO ================= */
.sk-hacemos__title{
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:42px;
  color:#152b42;
  text-transform:uppercase;
  letter-spacing:.02em;
  margin-bottom:60px;
}
.sk-hacemos__title .light{
  color:#b5b8bb;
  font-weight:800;
}

/* ================= GRID ================= */
.sk-hacemos__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:40px;
  justify-items:center;
  align-items:start;
}

/* ================= CARD ================= */
.sk-card{
  max-width:340px;
  text-align:center;
  font-family:'Nunito Sans',sans-serif;
}

/* íconos (solo la imagen, sin fondo añadido) */
.sk-card__icon{
  width:130px;
  height:130px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 20px;
}
.sk-card__icon img{
  width:100%;
  height:auto;
  display:block;
}

/* Título */
.sk-card__title{
  font-family:'Nunito',sans-serif;
  font-weight:800;
  font-size:18px;
  margin-bottom:12px;
  color:#E0444D;
}

/* Texto */
.sk-card__text{
  margin:0;
  font-family:'Nunito Sans',sans-serif;
  font-weight:400;
  font-size:16px;
  color:#333;
  line-height:1.6;
}

/* ================= RESPONSIVE ================= */
@media (max-width:980px){
  .sk-hacemos__title{ font-size:32px; margin-bottom:40px; }
  .sk-card__icon{ width:110px; height:110px; }
  .sk-card__title{ font-size:17px; }
}


/* ========== ASÍ SE VIVE (Module 3) ========== */
.sk-section{position:relative;padding:80px 20px;background:#fff;overflow:hidden;font-family:'Nunito Sans',sans-serif;}
.sk-container{max-width:1200px;margin:0 auto;text-align:center;position:relative;z-index:1;}
.sk-section::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(#F2F4F8 1px,transparent 1px),linear-gradient(90deg,#F2F4F8 1px,transparent 1px);
  background-size:120px 120px;opacity:.6;pointer-events:none;z-index:0;
}

/* ===== HEADER centrado ===== */
.sk-vive__head{position:relative;margin-bottom:18px;}
.sk-vive__title{
  margin:0 0 10px;
  display:flex;                       /* Junta ambas partes del título */
  justify-content:center;             /* Centrado total */
  align-items:flex-end;               /* Alinea bases */
  gap:0.55em;                         /* Aire entre rojo y negro */
  font-size:48px; line-height:1.05;
  text-transform:none;
}

/* Bloque izquierdo: sirve de “máscara” para el fantasma */
.title-left{
  position:relative;
  display:inline-block;
  overflow:hidden;                    /* Recorta el fantasma para que no invada “la promotoría” */
  line-height:1;
}

/* Texto rojo principal */
.title-left .highlight{
  position:relative; z-index:2;
  font-family:'Nunito',sans-serif; font-weight:800; color:#E0444D;
}

/* FANTASMA */
.title-left .ghost{
  position:absolute;
  left:0; right:0;                    /* mismo ancho que el texto rojo */
  text-align:center;                  /* lo centra exactamente */
  top:-1.04em;                        /* súbelo/bájalo fino si necesitas */
  font-family:'Nunito',sans-serif; font-weight:800;
  font-size:2.65em;                   /* más grande que el texto rojo */
  line-height:1;
  letter-spacing:.02em;
  color:#E9EDF3;                      /* gris muy claro */
  opacity:.9;                         /* sólido pero sutil */
  white-space:nowrap;
  pointer-events:none;
  z-index:0;                          /* siempre debajo del rojo */
}

/* Parte derecha del título */
.sk-vive__title .italic{
  position:relative; z-index:3;
  font-family:'Nunito Sans',sans-serif; font-weight:600; font-style:italic; color:#111;
}

/* Subtítulo */
.sk-vive__text{
  margin:0 0 46px; font-size:16px; color:#3A4353;
}
.sk-vive__text span{color:#E0444D;font-weight:600;}

/* Responsivo del header/fantasma */
@media (max-width:980px){
  .sk-vive__title{font-size:36px;}
  .title-left .ghost{ top:-1.02em; font-size:2.72em; }
}
@media (max-width:560px){
  .sk-vive__title{font-size:32px;}
  .title-left .ghost{ top:-1.00em; font-size:2.78em; }
}

/* ===== CARRUSEL ===== */
.sk-vive__strip{
  position:relative; display:flex; align-items:flex-end; justify-content:center;
  gap:28px; min-height:320px; overflow:visible; z-index:2;
}
.live-card{
  position:relative; width:260px; height:180px; border-radius:18px; overflow:hidden;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
  transform-origin:center bottom;
  transition:transform .35s ease, filter .35s ease, opacity .35s ease, box-shadow .35s ease, width .35s ease, height .35s ease;
}
.live-card img{width:100%;height:100%;object-fit:cover;display:block;}

/* Estados visuales (abanico) */
.is-l2{transform:translateY(18px) rotate(-6deg) scale(.86);filter:saturate(.85);opacity:.85;}
.is-l1{transform:rotate(-4deg) scale(.92);filter:saturate(.9);}
.is-c {width:360px;height:260px;box-shadow:0 26px 52px rgba(0,0,0,.24);z-index:3;}
.is-r1{transform:rotate(4deg) scale(.92);filter:saturate(.9);}
.is-r2{transform:translateY(18px) rotate(6deg) scale(.86);filter:saturate(.85);opacity:.85;}

/* Overlay rojo en NO centrales */
.live-card:not(.is-c)::after{
  content:""; position:absolute; inset:0; border-radius:inherit;
  background:linear-gradient(180deg, rgba(224,68,77,.22) 0%, rgba(224,68,77,.40) 100%);
  mix-blend-mode:multiply; pointer-events:none;
}

/* Controles */
.sk-vive__controls{position:absolute; right:calc(50% - 180px); bottom:10px; display:flex; gap:10px; z-index:5;}
.nav{
  width:36px; height:36px; border-radius:999px; border:0; background:#fff; color:#0E1726;
  font-weight:800; font-size:22px; box-shadow:0 8px 20px rgba(0,0,0,.18);
  cursor:pointer; display:grid; place-items:center;
}
.nav:hover{background:#E0444D;color:#fff;}
@media (max-width:980px){
  .is-c{width:280px;height:200px;}
  .sk-vive__controls{right:calc(50% - 140px);}
}


/* ========== OPINIONES (Module 4) ========== */
:root{
  --sk-red:#E0444D;
  --sk-ink:#111;
  --sk-band:#EEF4F8;
  --sk-card-border:#E6EEF6;

  --gap:26px;
  --title-col:420px;
  --band-pad-x:36px;

  --overhang-top:14px;
  --overhang-bottom:22px;
}

.sk-op{ background:#fff; padding:62px 0 72px; }
.sk-op__band{
  position:relative;
  width:min(1130px, calc(100% - 40px));
  margin:0 auto;
  background:var(--sk-band);
  border-radius:28px;
  box-shadow:0 12px 30px rgba(12,26,44,.10);
  overflow:visible;
}
.sk-op__container{ padding:16px var(--band-pad-x) 12px; }

.sk-op__wrap{
  display:grid;
  grid-template-columns: var(--title-col) 1fr;
  gap:28px;
  align-items:center;
}

/* Título */
.sk-op__titlecol{ padding:4px 0 0; }
.sk-op__title{
  margin:0;
  font-family:'Nunito',sans-serif; font-weight:800;
  line-height:1.06; letter-spacing:.02em; text-align:left;
}
.sk-op__title .blk{ color:var(--sk-ink); font-size:30px; }
.sk-op__title .red{ color:var(--sk-red); font-size:30px; }

/* Carrusel */
.sk-op__viewport{
  overflow:hidden;
  margin-top: calc(var(--overhang-top) * -1);
  margin-bottom: calc(var(--overhang-bottom) * -1);
}
.sk-op__track{
  display:flex; gap:var(--gap); align-items:stretch;
  transform:translateX(0);
}

.op-card{
  flex:0 0 calc((100% - (2 * var(--gap))) / 3);
  background:#fff;
  border:1px solid var(--sk-card-border);
  border-radius:20px;
  padding:22px 18px 20px;
  text-align:center;
  box-shadow:0 18px 34px rgba(20,30,50,.14);
}
.op-card__icon{ width:118px; height:118px; margin:0 auto 10px; display:grid; place-items:center; }
.op-card__icon img{ width:100%; height:auto; display:block; }
.op-card__heading{
  margin:6px 0 10px;
  font-family:'Nunito Sans',sans-serif; font-weight:900;
  font-size:14px; letter-spacing:.02em; color:var(--sk-red);
}
.op-card__text{
  margin:0;
  font-family:'Nunito Sans',sans-serif; font-weight:400;
  font-size:13px; line-height:1.55; color:#243146;
}

.op-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border:0; border-radius:999px;
  background:#0E2F4A; color:#fff; font-weight:800; font-size:24px;
  display:grid; place-items:center; cursor:pointer; z-index:6;
  box-shadow:0 10px 30px rgba(14,47,74,.30);
}
.op-nav--prev,.op-nav--next{ left:auto; right:auto; } 
.op-nav:hover{ background:#112E47; }

@media (max-width:1100px){
  :root{ --title-col:360px; }
}
@media (max-width:980px){
  :root{
    --title-col:100%;
    --band-pad-x:26px;
    --overhang-top:10px;
    --overhang-bottom:18px;
  }
  .sk-op__wrap{ grid-template-columns:1fr; gap:18px; }
  .sk-op__title{ text-align:center; }
  .op-card{ flex:0 0 min(82%, 420px); }
}


/* ========== SKYNET HACE LA DIFERENCIA (Module 5) ========== */
:root{
  --sk-blue1:#0C3B5C; --sk-blue2:#0B2B45; --sk-max:1200px;
  --panel-pad-x: 220px; --panel-pad-y: 90px; --content-max: 1120px; --center-gap: 420px; --art-size: 390px;
}
.sk-diff{ background:#fff; padding:58px 0 66px; font-family:'Nunito Sans',system-ui,sans-serif; }
.sk-diff__container{ max-width:var(--sk-max); margin:0 auto; padding:0 40px; }
.sk-diff__title{ margin:0 0 6px; text-align:center; letter-spacing:.02em; font-family:'Nunito',sans-serif; font-weight:800; font-size:46px; color:#cfd9e6; }
.sk-diff__tag{ position:relative; display:block; width:max-content; left:50%; transform:translateX(-50%); margin:0 0 -18px; padding:12px 26px; border-radius:12px; background:#E0444D; color:#fff; font-weight:900; box-shadow:0 10px 28px rgba(224,68,77,.35); z-index:6; }

.sk-diff__panel{ position:relative; padding:var(--panel-pad-y) var(--panel-pad-x); overflow:visible; border-radius:20px; }
.sk-diff__panel::before{
  content:""; position:absolute; inset:0; left:50%; transform:translateX(-50%); width:100vw; height:100%;
  background: linear-gradient(0deg, rgba(12,26,44,.40), rgba(12,26,44,.40)),
              radial-gradient(160% 140% at 10% 12%, var(--sk-blue1) 0%, var(--sk-blue2) 48%);
  background-size:cover; background-position:center; box-shadow:0 18px 48px rgba(12,43,69,.35); border-radius:inherit; z-index:0;
}
.sk-diff__panel::after{
  content:""; position:absolute; inset:0; background: radial-gradient(circle at 2px 2px, rgba(255,255,255,.08) 1.2px, transparent 1.3px);
  background-size:14px 14px; opacity:.22; z-index:1; pointer-events:none; border-radius:inherit;
}
.sk-diff__art{ position:absolute; inset:0; background-image:var(--diff-art); background-repeat:no-repeat; background-position:center; background-size:var(--art-size) auto; z-index:3; pointer-events:none; filter:drop-shadow(0 20px 30px rgba(0,0,0,.28)); }

.sk-diff__row{
  max-width:var(--content-max); margin:0 auto 26px; display:grid;
  grid-template-columns: calc((var(--content-max) - var(--center-gap)) / 2) calc((var(--content-max) - var(--center-gap)) / 2);
  column-gap: var(--center-gap); justify-content:center;
}
.diff-card{
  position:relative; z-index:4; min-height:128px; padding:22px 24px; text-align:center; border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02)), radial-gradient(120% 140% at 30% 10%, #1a4f79 0%, #123d61 60%, #0e2e4b 100%);
  border:1px solid rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 12px 28px rgba(0,0,0,.22);
  color:#EAF2FB; opacity:0; transform:translateY(14px) scale(.98);
}
.diff-card h3{ margin:0 0 6px; color:#fff; font-family:'Nunito Sans',system-ui,sans-serif; font-weight:900; font-size:16px; }
.diff-card p{ margin:0; color:#DCE7F6; font-size:14px; line-height:1.55; }
.diff-card--tl,.diff-card--bl{ justify-self:start; } .diff-card--tr,.diff-card--br{ justify-self:end; }

@keyframes sk-float { 0%{transform:translateY(0)} 50%{transform:translateY(-6px)} 100%{transform:translateY(0)} }
.diff-card.is-in{ opacity:1; transform:none; transition:opacity .5s ease, transform .5s ease; }
.diff-card.is-in.float { animation: sk-float 4.8s ease-in-out .3s infinite; }

.sk-diff__wires{ position:absolute; inset:0; width:100%; height:100%; z-index:2; pointer-events:none; }
.sk-diff__wires .wire{ fill:none; stroke:#fff; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; opacity:.95; filter:drop-shadow(0 0 6px rgba(255,255,255,.25)); }
.sk-diff__wires .dot{ fill:#fff; opacity:0; transform-origin:center; transform:scale(.4); filter:drop-shadow(0 0 6px rgba(255,255,255,.25)); }

@media (max-width:1120px){ :root{ --center-gap:360px; --panel-pad-x:200px; } }
@media (max-width:980px){
  :root{ --center-gap:0px; --panel-pad-x:24px; --art-size:320px; }
  .sk-diff__row{ grid-template-columns:1fr; row-gap:18px; }
  .diff-card--tl,.diff-card--tr,.diff-card--bl,.diff-card--br{ justify-self:stretch; }
  .diff-card.is-in.float { animation-duration: 4s; }
}
@media (prefers-reduced-motion:reduce){
  .diff-card,.diff-card.is-in{ opacity:1; transform:none; transition:none; }
  .diff-card.is-in.float{ animation:none; }
}


/* ========= CTA / CONTACTO (Module 6) ========= */
:root{
  --bg:#F4F6F9; --white:#fff; --text:#1f2937; --muted:#6b7280; --bd:#e5e7eb;
  --brand:#0DB2B4;      /* botón / foco */
  --pill:#CD0E2D;       /* píldora */
  --ok:#16a34a;
  --r-lg:18px; --r-md:12px;
  --font:"Nunito",system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Helvetica Neue",sans-serif;
  --cta-max:1160px;     /* ancho contenido del bloque */
}

/* CONTENEDOR: centrado y con padding */
#contact-main{
  position:relative;
  max-width: var(--cta-max);
  margin: 0 auto;
  background:var(--bg);
  border-radius:24px;
  padding: 28px 28px 14px;
  overflow:visible;
  z-index:1;
  --overshoot-x: 56px;
  --overshoot-y: -8px;
}

/* GRID 2 columnas */
.c-grid{
  display:grid;
  grid-template-columns: 1.02fr .98fr;
  gap:24px;
  align-items:stretch;
  margin-bottom:0;
}

/* Columnas limpias */
.c-col{ background:transparent !important; box-shadow:none !important; border-radius:0 !important; padding: 14px 10px; }

/* ===== IMAGEN ===== */
.c-right{ padding:0 !important; display:flex; justify-content:center; align-items:center; overflow:visible; }
.c-photo{
  position:relative;
  max-width:560px;
  isolation:isolate;
  transform: translate(var(--overshoot-x), var(--overshoot-y));
  z-index:3;
}
.c-photo::before{
  content:"";
  position:absolute; top:-14px; left:16px; right:16px;
  height:30px; background:var(--pill); border-radius:999px; z-index:1;
  box-shadow: 0 10px 24px rgba(205,14,45,.25);
}
.c-photo img{
  position:relative; z-index:2; display:block; width:100%;
  border-radius:14px; object-fit:cover; margin-bottom:0;
  box-shadow: 0 18px 40px rgba(15,23,42,.12);
}

/* ===== FORM ===== */
.c-form{font-family:var(--font); color:var(--text);}
.c-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; margin-bottom:0;}
.c-full{grid-column:1 / -1;}
.c-fg label{display:block; font-size:12.5px; color:var(--muted); margin:0 0 6px 2px;}
.c-fg label b{color:#ef4444;}
.c-fg input,.c-fg select,.c-fg textarea{
  width:100%; border:1px solid var(--bd); border-radius:12px;
  padding:10px 12px; font-size:14px; background:#fff;
  transition:border-color .2s, box-shadow .2s;
}
.c-fg textarea{min-height:110px; resize:vertical;}
.c-fg input:focus,.c-fg select:focus,.c-fg textarea:focus{
  outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(13,178,180,.15);
}

/* Hints (validación suave) */
.qhint{height:18px; line-height:18px; font-size:12.5px; margin-top:6px}

/* ===== PRIVACIDAD ===== */
.c-privacy .c-check{display:grid; grid-template-columns:20px 1fr; gap:12px; color:var(--muted); font-size:12.5px; align-items:flex-start;}
.c-privacy input[type="checkbox"]{ width:20px; height:20px; min-width:20px; min-height:20px; accent-color:var(--brand); }
.c-privacy a{color:var(--brand); text-decoration:underline;}

/* ===== BOTÓN ===== */
.c-actions{display:flex; justify-content:flex-end; margin-top:6px; margin-bottom:0;}
.c-btn{
  background:var(--brand); color:#fff; border:0; border-radius:999px;
  padding:10px 20px; font-weight:800; min-width:160px;
  transition:filter .15s, transform .15s, box-shadow .15s, opacity .15s;
  box-shadow: 0 10px 26px rgba(13,178,180,.24);
}
.c-btn[disabled]{opacity:.35; filter:grayscale(30%); cursor:not-allowed; box-shadow:none; transform:none;}
.c-btn:not([disabled]):hover{filter:brightness(1.05); transform:translateY(-1px);}
.c-btn:not([disabled]):active{transform:translateY(0); filter:brightness(0.98);}
.c-btn:not([disabled]):focus-visible{outline:none; box-shadow:0 0 0 3px rgba(13,178,180,.25);}

/* Estado “enviando” */
#sendBtn .c-btn-label{display:inline-block !important;}
#sendBtn .c-btn-loading{display:none !important;}
#sendBtn.is-loading{opacity:.9; pointer-events:none;}
#sendBtn.is-loading .c-btn-label{display:none !important;}
#sendBtn.is-loading .c-btn-loading{display:inline-block !important;}

/* ===== PANEL DE ÉXITO ===== */
#contact-success[hidden], #contact-success:not(.show){ display:none !important; height:0 !important; padding:0 !important; margin:0 !important; overflow:hidden !important; }
#contact-success.show{ display:flex !important; justify-content:center; align-items:center; min-height:220px; margin-top:16px; }
.succ-wrap{background:#fff; border:1px solid #ececec; border-radius:16px; padding:22px; max-width:720px; text-align:center; box-shadow:0 10px 30px rgba(2,6,23,.06);}
.succ-ico{width:60px; height:60px; margin:0 auto 10px; border-radius:50%; background:var(--ok); color:#fff; font-weight:800; font-size:30px; display:flex; align-items:center; justify-content:center;}
.succ-title{margin:0 0 6px; font:800 26px/1.25 var(--font); color:#111;}
.succ-sub{margin:0; color:#475569; font-size:15.5px;}

/* === MODO ÉXITO “solo texto” (oculta panel) === */
#contact-main.success-mode{ background:transparent !important; padding:0 !important; }
#contact-main.success-mode .c-grid{ display:none !important; }
#contact-main.success-mode #contact-success.show{ margin:40px 0; min-height:unset; }
#contact-main.success-mode .succ-wrap{ background:transparent; border:0; padding:0; max-width:900px; box-shadow:none; }
#contact-main.success-mode .succ-ico{ display:none; }
#contact-main.success-mode .succ-title{ font:800 32px/1.25 var(--font); color:#111; text-align:center; margin:0 0 10px; }
#contact-main.success-mode .succ-sub{ color:#475569; font-size:17px; text-align:center; margin:0; }

/* ==== RESPONSIVE ==== */
@media (max-width:1200px){
  #contact-main{ padding:24px 22px 12px; }
  .c-photo{ transform: translate(32px, -6px); max-width:520px; }
}
@media (max-width:980px){
  #contact-main{ padding:16px; }
  .c-grid{ grid-template-columns:1fr; gap:16px; }
  .c-form-grid{ grid-template-columns:1fr; }
  .c-actions{ justify-content:stretch; }
  .c-btn{ width:100%; }
  .c-photo{ transform:none; max-width:100%; }
  .c-right{ padding:0 0 8px 0 !important; }
}

/* ====== HEADER GLOBAL ====== */
:root{
  --top:#0E2F4A;
  --nav:#f3f3f4; --line:#e6e8eb; --text:#2a2e33; --muted:#5C6573; --white:#fff;

  /* Medidas */
  --logo-reserva:240px;         /* ancho reservado (no cambia) */
  --logo-card-h:130px;          /* contenedor del logo más alto */
  --logo-pad:18px 18px;         /* padding interno */
  --logo-img-w:50%;             /* logo más pequeño */
  --top-px:8px; --side:24px; --nav-py:16px; --gap-menu:28px; --gap-btn:8px;
}

/* Header */
.site-header{position:sticky;top:0;z-index:9999;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
.site-header a{text-decoration:none;color:inherit}
.site-header ul{list-style:none;margin:0;padding:0}

/* Tarjeta del logo: esquina sup-izq */
.header-logo-card{
  position:absolute; left:0; top:0;
  background:var(--white);
  border-radius:0 0 14px 0;
  padding:var(--logo-pad);
  width:var(--logo-reserva);
  min-height:var(--logo-card-h);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 22px rgba(16,24,40,.12);
  z-index:5;
}
.header-logo-card img{ width:var(--logo-img-w); height:auto; display:block; }

/* Top bar */
.header-top{position:relative;z-index:1;background:var(--top);color:#d7dadd}
.header-top .wrap{
  padding:var(--top-px) var(--side); min-height:32px;
  display:flex; align-items:center; justify-content:flex-end; gap:12px;
}

/* Redes */
.social-top{display:flex;align-items:center;gap:8px}
.social-top small{font-size:12px;opacity:.95}
.social-top a{
  width:22px;height:22px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:#2c2f33;color:#eff2f6;font-size:11px;
  transition:background .15s,transform .15s
}
.social-top a:hover{background:#383d43;transform:translateY(-1px)}

/* Nav */
.header-nav{position:relative;z-index:2;background:var(--nav);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.header-nav .wrap{
  padding:var(--nav-py) var(--side);
  display:flex;align-items:center;gap:12px;
}

/* Menú centrado + reserva del logo */
.main-menu{
  display:flex;align-items:center;gap:var(--gap-menu);
  margin-left:var(--logo-reserva);
  margin-right:var(--gap-btn);
  color:var(--text); font-size:14px; font-weight:600; flex:1; justify-content:center;
}
.main-menu > li > a, .main-menu > li > span{padding:6px 2px;display:inline-flex;align-items:center;gap:6px}
.main-menu > li > a:hover, .main-menu > li > span:hover{color:var(--muted)}
.chev{font-size:11px;opacity:.85}

/* Submenú */
.has-sub{position:relative}
.submenu{
  position:absolute;top:100%;left:0;display:none;min-width:260px;
  background:#fff;border:1px solid var(--line);border-radius:10px;
  box-shadow:0 8px 28px rgba(23,32,38,.12);padding:10px
}
.has-sub:hover .submenu{display:block}
.submenu a{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-radius:8px;font-size:14px;font-weight:600}
.submenu a:hover{background:#f6f8fa}

/* CTA dentro del menú (sin cambio de color al hover) */
.menu-cta a{
  background:#E0444D; color:#fff; font-weight:800;
  padding:8px 28px; border-radius:5px; border:0; white-space:nowrap;
  box-shadow:0 8px 20px rgba(224,68,77,.18);
  transition:transform .15s ease, box-shadow .15s ease;
}
.menu-cta a:hover{ transform:translateY(-1px); box-shadow:0 10px 24px rgba(224,68,77,.22) }

/* Responsive */
.nav-toggle{display:none;margin-left:auto;background:transparent;border:0;font-size:22px}
@media (max-width:980px){
  .nav-toggle{display:inline-flex}
  .main-menu{
    position:fixed;top:64px;left:0;right:0;display:none;
    flex-direction:column;gap:0;background:#fff;border-top:1px solid var(--line);
    margin:0;justify-content:flex-start
  }
  .main-menu.open{display:flex}
  .main-menu > li{width:100%}
  .main-menu > li > a,.main-menu > li > span{padding:12px}
  .has-sub:hover .submenu{display:none}
  .has-sub .submenu{position:static;display:none;border:0;box-shadow:none;padding:0}
  .has-sub.open .submenu{display:block}
}

/* Asegurar padding lateral extra del CTA + sin hover de color */
.main-menu > li.menu-cta > a{ padding:8px 15px; }
.main-menu > li.menu-cta > a:hover{ color:#fff !important; }
.main-menu > li.menu-cta > a,
.main-menu > li.menu-cta > a:visited,
.main-menu > li.menu-cta > a:hover,
.main-menu > li.menu-cta > a:focus,
.main-menu > li.menu-cta > a:active{
  background:#E0444D !important;
  color:#fff !important;
  transform:none !important;
  filter:none !important;
  box-shadow:0 8px 20px rgba(224,68,77,.18) !important;
  text-shadow:none !important;
}

/* ===== Footer Skynet (CSS) ===== */
:root{
  --skf-max: min(100vw, 1200px);
  --skf-ink: #0E2F4A; /* azul tinta */
  --skf-red: #E0444D; /* rojo acento */
  --skf-bg: #FFFFFF;
  --skf-mist:#F3F6F9;
  --skf-ink-2:#243146;
}

.skf-wrap{max-width:var(--skf-max); margin-inline:auto; padding-inline:24px}

/* Zona superior */
.skf-footer{
  background:var(--skf-bg);
  border-top:1px solid #EEF2F6;
  color:var(--skf-ink-2);
  /* usa tu familia global si existe, si no cae a sistema */
  font-family:var(--sk-font-sans, var(--sk-font, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif));
  position:relative;
}

/* patrón diagonal sutil */
.skf-footer::after{
  content:"";
  position:absolute; left:0; right:0; bottom:48px; height:8px;
  background: repeating-linear-gradient(-45deg, rgba(14,47,74,.08) 0 10px, transparent 10px 20px);
  pointer-events:none;
}

.skf-top{
  display:grid;
  grid-template-columns: 1.2fr .8fr .8fr 1.2fr;
  gap:38px; padding:44px 0 26px;
}

/* Marca + texto + redes */
.skf-logo img{ height:38px; width:auto; display:block; }
.skf-desc{ margin:14px 0 18px; color:#4A5568; font-size:14px; line-height:1.6; max-width:42ch; }

.skf-social{ display:flex; gap:12px; }
.skf-social a{
  width:38px; height:38px; border-radius:999px; display:grid; place-items:center;
  background:#ffeef0; color:var(--skf-red);
  box-shadow:0 4px 12px rgba(224,68,77,.18) inset, 0 4px 12px rgba(12,26,44,.06);
  text-decoration:none;
}
.skf-social a:hover{ background:#ffd9de; }
.skf-social .ico{ width:18px; height:18px; display:block; }

/* Columnas */
.skf-title{ margin:6px 0 12px; font-weight:800; font-size:16px; color:var(--skf-ink); }
.skf-list{ list-style:none; padding:0; margin:0; display:grid; gap:8px; font-size:14px; }
.skf-list a{ color:#49566A; text-decoration:none; }
.skf-list a:hover{ color:var(--skf-red); text-decoration:underline; }

/* Boletín */
.skf-subscribe .skf-note{ margin:2px 0 10px; font-size:13px; color:#5b687a; }
.skf-input{
  display:flex; align-items:center; background:#fff; border:1px solid #E2E8F0; border-radius:999px; padding:4px;
  box-shadow:0 2px 8px rgba(12,26,44,.04);
}
.skf-input input{
  flex:1; border:0; background:transparent; outline:0; height:38px; padding:0 12px; font-size:14px; color:#0E1726;
}
.skf-input button{
  width:42px; height:38px; border-radius:999px; border:0; cursor:pointer; background:var(--skf-ink); color:#fff;
  display:grid; place-items:center; transition:background .18s ease, transform .18s ease;
}
.skf-input button:hover{ background:#0c2336; transform:translateY(-1px); }
.skf-input .ico{ width:18px; height:19px; display:block; }
.skf-feedback{ display:block; min-height:18px; margin-top:6px; font-size:12px; color:#2e7d32; }

/* Barra inferior */
.skf-bottom{ background:#173247; color:#EAF2F9; margin-top:28px; }
.skf-bottom__grid{
  display:grid; grid-template-columns: 1fr auto; gap:16px; align-items:center; padding:14px 0;
}
.skf-copy{ font-size:13px; opacity:.95; }
.skf-legal{ display:flex; gap:10px; align-items:center; font-size:13px; }
.skf-legal a{ color:#EAF2F9; text-decoration:none; }
.skf-legal a:hover{ color:#fff; text-decoration:underline; }
.skf-legal .sep{ opacity:.5; }

/* Responsive */
@media (max-width: 980px){
  .skf-top{ grid-template-columns:1fr 1fr; gap:28px; }
}
@media (max-width: 640px){
  .skf-wrap{ padding-inline:16px; }
  .skf-top{ grid-template-columns:1fr; }
  .skf-bottom__grid{ grid-template-columns:1fr; text-align:center; }
}

/* ===== HEADER – Mobile overrides ===== */
@media (max-width: 980px){

  /* Reducimos medidas del header solo en móvil */
  :root{
    --logo-reserva: 130px;   /* antes 240px */
    --logo-card-h: 80px;     /* alto de la tarjeta de logo (antes 130px) */
    --logo-pad: 10px 12px;   /* padding interno del recuadro */
    --logo-img-w: 60%;       /* tamaño del logo dentro de la tarjeta */

    --top-px: 6px;           /* topbar más compacta */
    --side: 20px;            /* padding lateral general */
    --nav-py: 5px;          /* nav más bajito */
  }

  /* Tarjeta del logo más chica y con sombra más sutil */
  .header-logo-card{
    border-radius: 0 0 12px 0;
    box-shadow: 0 6px 14px rgba(16,24,40,.10);
  }

  /* Top bar compacta; ocultamos el "Síguenos en:" para ganar espacio */
  .header-top .wrap{ gap:8px; }
  .social-top small{ display:none; }
  .social-top a{ width:20px; height:20px; font-size:10px; }

  /* Barra de navegación más compacta */
  .header-nav .wrap{ gap:8px; }

  /* Botón hamburguesa ligeramente más pequeño */
  .nav-toggle{ font-size:20px; }

  /* En móvil el menú ocupa todo el ancho: quitamos la reserva del logo */
  .main-menu{
    margin-left: 0;              /* anula reserva del logo */
    top: var(--menu-top, 64px);  /* se define vía JS para calzar exacto */
  }

  /* Submenús en columna (ya estaba) y sin bordes en móvil */
  .has-sub .submenu{
    border:0; box-shadow:none; padding:0;
  }
}
