/*
Theme Name: Grupo Ricrea
Theme URI: https://gruporicrea.com
Description: Tema hijo corporativo de Grupo Ricrea basado en Hello Elementor.
Author: Grupo Ricrea
Template: hello-elementor
Version: 1.0.0
Text Domain: grupo-ricrea
*/

:root{
  --navy:#14264f;
  --navy-2:#0d1b3a;
  --blue:#0878e8;
  --blue-2:#0a64c7;
  --ink:#202c3a;
  --muted:#607086;
  --soft:#f4f7fb;
  --line:#dbe4ef;
  --white:#fff;
  --radius:20px;
  --shadow:0 18px 55px rgba(13,27,58,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.gr-home{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
body.gr-home a{text-decoration:none;color:inherit}
body.gr-home img{max-width:100%;display:block}
.gr-wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.gr-topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(219,228,239,.85)}
.gr-nav{height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.gr-brand img{height:72px;width:auto}
.gr-navlinks{display:flex;align-items:center;gap:24px;font-weight:600;font-size:14px;color:#25344f}
.gr-navlinks a:hover{color:var(--blue)}
.gr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:12px;font-weight:700;transition:.2s ease;border:1px solid transparent}
.gr-btn-primary{background:var(--blue);color:#fff!important}
.gr-btn-primary:hover{background:var(--blue-2);transform:translateY(-1px)}
.gr-btn-outline{border-color:rgba(255,255,255,.78);color:#fff!important}
.gr-btn-outline:hover{background:#fff;color:var(--navy)!important}
.gr-hero{
    position:relative;
    overflow:hidden;
    background:linear-gradient(90deg,var(--navy-2) 0%,var(--navy) 50%,#17305f 100%);
    color:#fff
}
.gr-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,18,42,.98) 0%,rgba(7,18,42,.90) 44%,rgba(7,18,42,.30) 72%,rgba(7,18,42,.10) 100%);z-index:1}
.gr-hero:after{
    content:"";
    position:absolute;
    right:0;
    top:0;
    width:57%;
    height:100%;
    background:url('assets/oficina-corporativa.jpg') center/cover no-repeat;
    opacity:.92;
}
.gr-hero-inner{position:relative;z-index:2;min-height:640px;display:flex;align-items:center}
.gr-hero-copy{max-width:650px;padding:76px 0}
.gr-kicker{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#93c8ff;font-weight:800;margin-bottom:18px}
.gr-hero h1{font-size:clamp(42px,5vw,72px);line-height:1.02;margin:0 0 20px;letter-spacing:-.04em}
.gr-hero h1 span{color:#1d8fff}
.gr-hero p{font-size:18px;max-width:620px;color:#dbe7f6;margin:0 0 30px}
.gr-cta-row{display:flex;gap:14px;flex-wrap:wrap}
.gr-trustbar{background:#fff;border-bottom:1px solid var(--line)}
.gr-trustgrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:22px;padding:30px 0;align-items:center}
.gr-trustgrid strong{display:block;color:var(--navy);font-size:22px}
.gr-trustgrid span{color:var(--muted);font-size:14px}
.gr-section{padding:86px 0}
.gr-section.gr-soft{background:var(--soft)}
.gr-eyebrow{color:var(--blue);font-weight:800;letter-spacing:.18em;font-size:13px;text-transform:uppercase;margin-bottom:10px}
.gr-section h2,.gr-contact h2{font-size:clamp(34px,4vw,52px);line-height:1.08;margin:0 0 18px;color:var(--navy);letter-spacing:-.03em}
.gr-lead{font-size:18px;color:var(--muted);max-width:760px;margin:0}
.gr-about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center}
.gr-about-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow)}
.gr-metric{display:flex;align-items:flex-end;gap:12px}
.gr-metric b{font-size:64px;line-height:1;color:var(--blue)}
.gr-metric span{color:var(--navy);font-weight:800;padding-bottom:8px}
.gr-about-card p{color:var(--muted);margin-bottom:0}
.gr-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.gr-service{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;transition:.2s ease}
.gr-service:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.gr-icon{width:48px;height:48px;border-radius:14px;background:#e8f3ff;color:var(--blue);display:grid;place-items:center;font-size:23px;font-weight:900;margin-bottom:18px}
.gr-service h3{margin:0 0 8px;color:var(--navy);font-size:19px}
.gr-service p{margin:0;color:var(--muted);font-size:14px}

.gr-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.gr-pillar{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 10px 28px rgba(13,27,58,.06)}
.gr-pillar span{display:block;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}
.gr-pillar h3{margin:0 0 8px;color:var(--navy);font-size:22px}
.gr-pillar p{margin:0;color:var(--muted);font-size:14px}

.gr-dark{background:linear-gradient(135deg,#0d1b3a,#17345f);color:#fff}
.gr-dark .gr-eyebrow{color:#7ec3ff}
.gr-dark h2{color:#fff}
.gr-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.gr-feature{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);padding:28px;border-radius:18px}
.gr-feature h3{margin:0 0 8px}
.gr-feature p{margin:0;color:#cfdaea;font-size:14px}
.gr-process{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.gr-step{position:relative;padding:28px 24px;border:1px solid var(--line);border-radius:18px;background:#fff}
.gr-num{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#e8f3ff;color:var(--blue);font-weight:900;margin-bottom:16px}
.gr-step h3{margin:0 0 8px;color:var(--navy)}
.gr-step p{margin:0;color:var(--muted);font-size:14px}
.gr-contact{padding:72px 0;background:linear-gradient(90deg,#0d1b3a,#153f77);color:#fff}
.gr-contact-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:center}
.gr-contact h2{color:#fff}
.gr-contact p{color:#d6e3f3;margin:0}
.gr-contact .gr-cta-row{justify-content:flex-end}
.gr-footer{padding:34px 0;background:#fff;border-top:1px solid var(--line)}
.gr-footer-grid{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.gr-footer img{height:48px}
.gr-footer small{color:#6b778b}
.gr-whatsapp{position:fixed;right:22px;bottom:22px;z-index:80;background:#25d366;color:#fff!important;border-radius:999px;padding:14px 18px;font-weight:800;box-shadow:0 12px 34px rgba(0,0,0,.18)}

.gr-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.gr-stat{background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid var(--line);border-radius:18px;padding:24px}
.gr-stat b{display:block;color:var(--blue);font-size:34px;line-height:1.1;margin-bottom:6px}
.gr-stat span{display:block;color:var(--navy);font-weight:800;margin-bottom:4px}
.gr-stat small{color:var(--muted);font-size:14px}

.gr-quote{margin-top:34px;padding:24px 28px;border-left:4px solid var(--blue);background:#f8fbff;border-radius:0 16px 16px 0;color:var(--navy);font-weight:600}

.gr-cta-band{padding:42px 0;background:#eef6ff;border-top:1px solid #d9e9fb;border-bottom:1px solid #d9e9fb}
.gr-cta-band-grid{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
.gr-cta-band h3{margin:0 0 6px;color:var(--navy);font-size:28px}
.gr-cta-band p{margin:0;color:var(--muted)}

@media (max-width:980px){
  .gr-stats{grid-template-columns:1fr}
  .gr-cta-band-grid{grid-template-columns:1fr}
}

@media (max-width:980px){
  .gr-navlinks{display:none}
  .gr-hero:after{width:100%;opacity:.35}
  .gr-hero:before{background:rgba(7,18,42,.82)}
  .gr-hero-inner{min-height:590px}
  .gr-trustgrid{grid-template-columns:1fr 1fr}
  .gr-about-grid,.gr-contact-grid{grid-template-columns:1fr}
  .gr-services-grid{grid-template-columns:repeat(2,1fr)}
  .gr-feature-grid,.gr-process{grid-template-columns:repeat(2,1fr)}
  .gr-contact .gr-cta-row{justify-content:flex-start}
}
@media (max-width:640px){
  .gr-wrap{width:min(100% - 28px,1180px)}
  .gr-nav{height:82px}
  .gr-brand img{height:56px}
  .gr-hero-copy{padding:60px 0}
  .gr-hero-inner{min-height:560px}
  .gr-hero h1{font-size:44px}
  .gr-hero p{font-size:16px}
  .gr-trustgrid,.gr-services-grid,.gr-feature-grid,.gr-process,.gr-pillars{grid-template-columns:1fr}
  .gr-section{padding:64px 0}
  .gr-footer-grid{grid-template-columns:1fr}
  .gr-whatsapp{right:14px;bottom:14px}
}
/* ===== SERVICIOS GRUPO RICREA ===== */

.gr-services-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:end;
  margin-bottom:42px;
}

.gr-services-badge{
  min-width:270px;
  padding:20px 24px;
  background:#ffffff;
  border:1px solid #dbe4ef;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(13,27,58,.06);
}

.gr-services-badge strong{
  display:block;
  color:#14264f;
  font-size:15px;
  letter-spacing:.12em;
  margin-bottom:4px;
}

.gr-services-badge span{
  color:#607086;
  font-size:12px;
}

.gr-services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.gr-service{
  display:flex;
  flex-direction:column;
  min-height:310px;
  background:#fff;
  border:1px solid #dbe4ef;
  border-radius:20px;
  padding:28px;
  position:relative;
  overflow:hidden;
  transition:.25s ease;
}

.gr-service:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,#0878e8,#36a5ff);
  opacity:0;
  transition:.25s ease;
}

.gr-service:hover{
  transform:translateY(-7px);
  border-color:#b9d7f7;
  box-shadow:0 20px 45px rgba(13,27,58,.10);
}

.gr-service:hover:before{
  opacity:1;
}

.gr-service-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:22px;
}

.gr-icon{
  width:52px;
  height:52px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:#eaf4ff;
  color:#0878e8;
  font-size:16px;
  font-weight:800;
}

.gr-service-type{
  display:inline-flex;
  align-items:center;
  padding:6px 11px;
  border-radius:999px;
  background:#f3f6fa;
  color:#607086;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.gr-service h3{
  color:#14264f;
  font-size:21px;
  line-height:1.25;
  margin:0 0 12px;
}

.gr-service p{
  color:#607086;
  font-size:14px;
  line-height:1.65;
  margin:0 0 22px;
}

.gr-service-link{
  margin-top:auto;
  color:#0878e8 !important;
  font-size:13px;
  font-weight:800;
  transition:.2s ease;
}

.gr-service-link:hover{
  padding-left:5px;
}

.gr-services-footer{
  margin-top:30px;
  padding:26px 30px;
  border-radius:18px;
  background:#14264f;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.gr-services-footer strong{
  display:block;
  font-size:19px;
  margin-bottom:3px;
}

.gr-services-footer span{
  color:#cdd9e8;
  font-size:14px;
}

@media(max-width:980px){

  .gr-services-head{
    grid-template-columns:1fr;
  }

  .gr-services-badge{
    min-width:0;
    max-width:360px;
  }

  .gr-services-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .gr-services-footer{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:640px){

  .gr-services-grid{
    grid-template-columns:1fr;
  }

  .gr-service{
    min-height:auto;
  }

  .gr-services-badge{
    width:100%;
  }
}
/* ===== CÓMO TRABAJAMOS ===== */

.gr-process-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:end;
  margin-bottom:42px;
}

.gr-process-badge{
  min-width:300px;
  padding:20px 24px;
  border-radius:16px;
  background:#f4f8fd;
  border:1px solid #dbe4ef;
}

.gr-process-badge strong{
  display:block;
  color:#14264f;
  font-size:13px;
  letter-spacing:.12em;
  margin-bottom:5px;
}

.gr-process-badge span{
  color:#607086;
  font-size:12px;
}

.gr-process-v2{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
}

.gr-process-v2:before{
  content:"";
  position:absolute;
  top:34px;
  left:8%;
  right:8%;
  height:2px;
  background:#dce8f5;
  z-index:0;
}

.gr-process-step{
  position:relative;
  z-index:1;
  background:#fff;
  border:1px solid #dbe4ef;
  border-radius:18px;
  padding:24px 20px;
  transition:.25s ease;
}

.gr-process-step:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(13,27,58,.09);
}

.gr-process-number{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#0878e8;
  color:#fff;
  font-weight:800;
  margin-bottom:20px;
  box-shadow:0 8px 22px rgba(8,120,232,.25);
}

.gr-process-content span{
  display:block;
  color:#0878e8;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:7px;
}

.gr-process-content h3{
  color:#14264f;
  font-size:18px;
  line-height:1.25;
  margin:0 0 10px;
}

.gr-process-content p{
  color:#607086;
  font-size:13px;
  line-height:1.6;
  margin:0;
}

.gr-process-message{
  margin-top:34px;
  padding:28px 30px;
  border-radius:18px;
  background:linear-gradient(90deg,#0d1b3a,#173f73);
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
}

.gr-process-message span{
  display:block;
  color:#7ec3ff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  margin-bottom:4px;
}

.gr-process-message strong{
  display:block;
  font-size:21px;
}

@media(max-width:1100px){

  .gr-process-v2{
    grid-template-columns:repeat(2,1fr);
  }

  .gr-process-v2:before{
    display:none;
  }
}

@media(max-width:980px){

  .gr-process-head{
    grid-template-columns:1fr;
  }

  .gr-process-badge{
    min-width:0;
    max-width:380px;
  }
}

@media(max-width:640px){

  .gr-process-v2{
    grid-template-columns:1fr;
  }

  .gr-process-message{
    flex-direction:column;
    align-items:flex-start;
  }
}
/* ===== POR QUÉ GRUPO RICREA ===== */

.gr-why{
  background:#f5f8fc;
  position:relative;
  overflow:hidden;
}

.gr-why:before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  background:rgba(8,120,232,.05);
  right:-150px;
  top:-170px;
}

.gr-why-head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr auto;
  gap:50px;
  align-items:end;
  margin-bottom:42px;
}

.gr-why-highlight{
  min-width:310px;
  padding:22px 26px;
  border-radius:18px;
  background:#14264f;
  color:#fff;
}

.gr-why-highlight span{
  display:block;
  color:#7ec3ff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  margin-bottom:6px;
}

.gr-why-highlight strong{
  font-size:17px;
}

.gr-why-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.gr-why-card{
  padding:30px 26px;
  border-radius:20px;
  background:#fff;
  border:1px solid #dbe4ef;
  transition:.25s ease;
}

.gr-why-card:hover{
  transform:translateY(-7px);
  box-shadow:0 20px 45px rgba(13,27,58,.10);
}

.gr-why-icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#eaf4ff;
  color:#0878e8;
  font-weight:800;
  margin-bottom:22px;
}

.gr-why-card h3{
  margin:0 0 10px;
  color:#14264f;
  font-size:21px;
}

.gr-why-card p{
  margin:0;
  color:#607086;
  font-size:14px;
  line-height:1.65;
}

.gr-why-bottom{
  position:relative;
  z-index:1;
  margin-top:30px;
  padding:34px;
  border-radius:22px;
  background:linear-gradient(110deg,#0d1b3a,#173f73);
  color:#fff;
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:center;
}

.gr-why-statement span{
  display:block;
  color:#7ec3ff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  margin-bottom:7px;
}

.gr-why-statement h3{
  margin:0 0 8px;
  font-size:28px;
}

.gr-why-statement p{
  max-width:720px;
  margin:0;
  color:#d4dfed;
  font-size:14px;
  line-height:1.65;
}

@media(max-width:1000px){

  .gr-why-head{
    grid-template-columns:1fr;
  }

  .gr-why-highlight{
    min-width:0;
    max-width:380px;
  }

  .gr-why-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:640px){

  .gr-why-grid{
    grid-template-columns:1fr;
  }

  .gr-why-bottom{
    grid-template-columns:1fr;
  }

  .gr-why-action{
    margin-top:5px;
  }
}
/* ===== CONTACTO GRUPO RICREA ===== */

.gr-contact-v2{
  position:relative;
  padding:90px 0;
  background:
    linear-gradient(
      90deg,
      rgba(238,247,255,.96),
      rgba(248,252,255,.96)
    );
  overflow:hidden;
}

.gr-contact-layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:70px;
  align-items:start;
}

.gr-contact-logo img{
  width:230px;
  height:auto;
  margin-bottom:36px;
}

.gr-contact-info h2{
  margin:0 0 22px;
  color:#14264f;
  font-size:clamp(42px,5vw,66px);
  line-height:1.02;
  letter-spacing:-.04em;
}

.gr-contact-intro{
  max-width:470px;
  margin:0 0 34px;
  color:#607086;
  font-size:17px;
  line-height:1.6;
}

.gr-contact-item{
  display:flex;
  align-items:center;
  gap:18px;
  margin:18px 0;
}

.gr-contact-icon{
  width:56px;
  height:56px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#0878e8,#123f86);
  color:#fff;
  font-size:23px;
  font-weight:800;
}

.gr-contact-item span{
  display:block;
  color:#607086;
  font-size:13px;
}

.gr-contact-item a,
.gr-contact-item strong{
  display:block;
  color:#14264f;
  font-size:20px;
  font-weight:700;
}

.gr-whatsapp-box{
  margin-top:26px;
}

.gr-whatsapp-box > span{
  display:block;
  color:#14264f;
  margin-bottom:8px;
  font-weight:600;
}

.gr-whatsapp-button{
  display:inline-flex;
  align-items:center;
  padding:13px 22px;
  border-radius:999px;
  background:#18bd54;
  color:#fff!important;
  font-weight:800;
}

.gr-contact-tagline{
  margin-top:30px;
  padding-top:20px;
  border-top:1px solid #bfd1e3;
  color:#607086;
  font-size:12px;
  font-weight:700;
  letter-spacing:.22em;
}


/* FORMULARIO */

.gr-contact-form-card{
  background:#fff;
  padding:42px;
  border-radius:22px;
  border:1px solid #e2eaf2;
  box-shadow:0 25px 70px rgba(13,27,58,.12);
}

.gr-contact-form-card h3{
  margin:0 0 10px;
  color:#14264f;
  font-size:38px;
  line-height:1.1;
}

.gr-contact-form-card > p{
  margin:0 0 28px;
  color:#607086;
}

.gr-contact-form{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.gr-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.gr-contact-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  color:#14264f;
  font-size:13px;
  font-weight:700;
}

.gr-contact-form input,
.gr-contact-form select,
.gr-contact-form textarea{
  width:100%;
  padding:14px 15px;
  border:1px solid #cbd8e6;
  border-radius:9px;
  background:#fff;
  color:#202c3a;
  font-family:inherit;
  font-size:14px;
  outline:none;
  transition:.2s ease;
}

.gr-contact-form input:focus,
.gr-contact-form select:focus,
.gr-contact-form textarea:focus{
  border-color:#0878e8;
  box-shadow:0 0 0 3px rgba(8,120,232,.10);
}

.gr-consent{
  flex-direction:row!important;
  align-items:flex-start;
  gap:10px!important;
  font-weight:400!important;
  color:#40506a!important;
}

.gr-consent input{
  width:auto!important;
  margin-top:3px;
}

.gr-form-submit{
  padding:16px 20px;
  border:0;
  border-radius:10px;
  background:linear-gradient(90deg,#0878e8,#1b90f5);
  color:#fff;
  font-family:inherit;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  transition:.2s ease;
}

.gr-form-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 25px rgba(8,120,232,.22);
}

.gr-form-note{
  text-align:center;
  color:#76849a;
}

.gr-form-success{
  margin:0 0 22px;
  padding:14px 16px;
  border-radius:10px;
  background:#eafaf0;
  color:#167442;
  font-weight:700;
}


/* ===== FOOTER ===== */

.gr-footer-v2{
  padding:58px 0 24px;
  background:linear-gradient(120deg,#0c1c3b,#0e3564);
  color:#fff;
}

.gr-footer-main{
  display:grid;
  grid-template-columns:1.2fr .7fr .9fr;
  gap:60px;
}

.gr-footer-brand{
  display:flex;
  align-items:center;
  gap:28px;
}

.gr-footer-brand img{
  width:220px;
  filter:brightness(0) invert(1);
}

.gr-footer-brand div{
  padding-left:28px;
  border-left:1px solid rgba(255,255,255,.35);
  font-size:23px;
  line-height:1.25;
}

.gr-footer-nav,
.gr-footer-contact{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.gr-footer-nav > span,
.gr-footer-contact > span{
  color:#7ec3ff;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:11px;
  font-weight:800;
  margin-bottom:8px;
}

.gr-footer-nav a,
.gr-footer-contact a,
.gr-footer-contact p{
  color:#fff!important;
  margin:0;
  font-size:14px;
}

.gr-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:48px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.30);
  color:#cbd7e7;
  font-size:12px;
}


/* RESPONSIVE */

@media(max-width:900px){

  .gr-contact-layout{
    grid-template-columns:1fr;
  }

  .gr-footer-main{
    grid-template-columns:1fr 1fr;
  }

  .gr-footer-brand{
    grid-column:1/-1;
  }
}

@media(max-width:640px){

  .gr-contact-v2{
    padding:65px 0;
  }

  .gr-contact-form-card{
    padding:26px 20px;
  }

  .gr-form-row{
    grid-template-columns:1fr;
  }

  .gr-contact-logo img{
    width:190px;
  }

  .gr-footer-main{
    grid-template-columns:1fr;
  }

  .gr-footer-brand{
    grid-column:auto;
    flex-direction:column;
    align-items:flex-start;
  }

  .gr-footer-brand div{
    padding:20px 0 0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.30);
  }

  .gr-footer-bottom{
    flex-direction:column;
  }
}
Para que el formulario realmente envíe el correo

Abre ahora functions.php y pega al final, antes de ?> si lo hubiera:

add_action('admin_post_nopriv_ricrea_contacto', 'ricrea_procesar_contacto');
add_action('admin_post_ricrea_contacto', 'ricrea_procesar_contacto');

function ricrea_procesar_contacto() {

    if (
        !isset($_POST['ricrea_nonce']) ||
        !wp_verify_nonce($_POST['ricrea_nonce'], 'ricrea_contacto_form')
    ) {
        wp_die('Solicitud no válida.');
    }

    $nombre   = sanitize_text_field($_POST['nombre'] ?? '');
    $empresa  = sanitize_text_field($_POST['empresa'] ?? '');
    $correo   = sanitize_email($_POST['correo'] ?? '');
    $telefono = sanitize_text_field($_POST['telefono'] ?? '');
    $servicio = sanitize_text_field($_POST['servicio'] ?? '');
    $mensaje  = sanitize_textarea_field($_POST['mensaje'] ?? '');

    $destino = 'contacto@gruporicrea.com';

    $asunto = 'Nueva solicitud de cotización - Grupo Ricrea';

    $contenido =
        "Nombre: $nombre\n" .
        "Empresa: $empresa\n" .
        "Correo: $correo\n" .
        "Teléfono: $telefono\n" .
        "Servicio: $servicio\n\n" .
        "Mensaje:\n$mensaje";

    $headers = [];

    if ($correo) {
        $headers[] = 'Reply-To: ' . $nombre . ' <' . $correo . '>';
    }

    wp_mail(
        $destino,
        $asunto,
        $contenido,
        $headers
    );

    wp_safe_redirect(
        home_url('/?contacto=enviado#contacto')
    );

    exit;
}
/* ===== OPTIMIZACIÓN MÓVIL / TABLET GRUPO RICREA ===== */

@media (max-width: 1100px){

  .gr-wrap{
    width:min(100% - 32px,1180px);
  }

  .gr-nav{
    height:84px;
  }

  .gr-brand img{
    height:58px;
  }

  .gr-hero-inner{
    min-height:600px;
  }

  .gr-hero-copy{
    max-width:620px;
    padding:64px 0;
  }

  .gr-hero h1{
    font-size:56px;
  }

  .gr-services-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .gr-why-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .gr-process-v2{
    grid-template-columns:repeat(2,1fr);
  }

  .gr-process-v2:before{
    display:none;
  }

  .gr-contact-layout{
    gap:42px;
  }

}


@media (max-width: 800px){

  .gr-navlinks{
    display:none;
  }

  .gr-topbar{
    position:relative;
  }

  .gr-nav{
    justify-content:center;
    height:88px;
  }

  .gr-brand img{
    height:62px;
  }

  .gr-hero:after{
    width:100%;
    opacity:.32;
  }

  .gr-hero:before{
    background:linear-gradient(
      180deg,
      rgba(7,18,42,.88),
      rgba(7,18,42,.82)
    );
  }

  .gr-hero-inner{
    min-height:580px;
  }

  .gr-hero-copy{
    max-width:100%;
    padding:55px 0;
    text-align:center;
  }

  .gr-kicker{
    font-size:11px;
  }

  .gr-hero h1{
    font-size:48px;
    line-height:1.05;
  }

  .gr-hero p{
    margin-left:auto;
    margin-right:auto;
    font-size:17px;
  }

  .gr-cta-row{
    justify-content:center;
  }

  .gr-trustgrid{
    grid-template-columns:1fr 1fr;
  }

  .gr-about-grid{
    grid-template-columns:1fr;
    gap:32px;
  }

  .gr-services-head,
  .gr-process-head,
  .gr-why-head,
  .gr-contact-layout{
    grid-template-columns:1fr;
  }

  .gr-services-badge,
  .gr-process-badge,
  .gr-why-highlight{
    min-width:0;
    max-width:100%;
  }

  .gr-contact-info{
    text-align:left;
  }

  .gr-footer-main{
    grid-template-columns:1fr 1fr;
  }

  .gr-footer-brand{
    grid-column:1/-1;
  }

}


@media (max-width: 640px){

  body.gr-home{
    overflow-x:hidden;
  }

  .gr-wrap{
    width:calc(100% - 24px);
  }

  .gr-nav{
    height:76px;
  }

  .gr-brand img{
    height:52px;
  }

  .gr-hero-inner{
    min-height:560px;
  }

  .gr-hero-copy{
    padding:46px 0;
  }

  .gr-kicker{
    font-size:10px;
    letter-spacing:.16em;
    margin-bottom:14px;
  }

  .gr-hero h1{
    font-size:40px;
    line-height:1.06;
    margin-bottom:16px;
  }

  .gr-hero p{
    font-size:16px;
    line-height:1.55;
    margin-bottom:24px;
  }

  .gr-cta-row{
    flex-direction:column;
    align-items:stretch;
  }

  .gr-btn{
    width:100%;
    padding:15px 18px;
  }

  .gr-trustgrid{
    grid-template-columns:1fr;
    gap:14px;
    padding:22px 0;
  }

  .gr-trustgrid strong{
    font-size:20px;
  }

  .gr-section{
    padding:58px 0;
  }

  .gr-section h2,
  .gr-contact-info h2{
    font-size:36px;
    line-height:1.08;
  }

  .gr-lead{
    font-size:16px;
  }

  .gr-pillars,
  .gr-stats,
  .gr-services-grid,
  .gr-process-v2,
  .gr-why-grid{
    grid-template-columns:1fr;
  }

  .gr-service,
  .gr-pillar,
  .gr-stat,
  .gr-why-card,
  .gr-process-step{
    padding:22px;
  }

  .gr-services-footer,
  .gr-process-message,
  .gr-why-bottom{
    flex-direction:column;
    align-items:flex-start;
  }

  .gr-contact-v2{
    padding:58px 0;
  }

  .gr-contact-form-card{
    padding:24px 18px;
    border-radius:18px;
  }

  .gr-contact-form-card h3{
    font-size:32px;
  }

  .gr-form-row{
    grid-template-columns:1fr;
  }

  .gr-contact-item{
    align-items:flex-start;
  }

  .gr-contact-icon{
    width:50px;
    height:50px;
    flex:0 0 50px;
  }

  .gr-contact-item a,
  .gr-contact-item strong{
    font-size:18px;
    word-break:break-word;
  }

  .gr-whatsapp-button{
    width:100%;
    justify-content:center;
  }

  .gr-footer-v2{
    padding:46px 0 20px;
  }

  .gr-footer-main{
    grid-template-columns:1fr;
    gap:34px;
  }

  .gr-footer-brand{
    grid-column:auto;
    flex-direction:column;
    align-items:flex-start;
  }

  .gr-footer-brand img{
    width:190px;
  }

  .gr-footer-brand div{
    padding:18px 0 0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.28);
    font-size:20px;
  }

  .gr-footer-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }

  .gr-whatsapp{
    right:12px;
    bottom:12px;
    padding:12px 15px;
    font-size:13px;
  }

}


@media (max-width: 390px){

  .gr-hero h1{
    font-size:35px;
  }

  .gr-section h2,
  .gr-contact-info h2{
    font-size:32px;
  }

  .gr-contact-form-card h3{
    font-size:28px;
  }

}
/* ===== AJUSTES FINALES MÓVIL GRUPO RICREA ===== */

@media (max-width: 640px){

  /* HEADER */
  .gr-nav{
    height:105px;
  }

  .gr-brand img{
    height:54px;
  }


  /* HERO MÁS COMPACTO */
  .gr-hero-inner{
    min-height:auto;
    padding:70px 0 75px;
  }

  .gr-hero-copy{
    padding:0;
  }

  .gr-hero h1{
    font-size:38px;
    line-height:1.05;
    margin-bottom:22px;
  }

  .gr-hero p{
    font-size:16px;
    line-height:1.5;
    margin-bottom:28px;
  }

  .gr-kicker{
    margin-bottom:20px;
  }

  .gr-cta-row{
    gap:12px;
  }

  .gr-btn{
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
  }


  /* BARRA DE CONFIANZA */
  .gr-trustbar{
    padding:0;
  }

  .gr-trustgrid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px 16px;
    padding:32px 0;
  }

  .gr-trustgrid > div:first-child{
    grid-column:1 / -1;
  }

  .gr-trustgrid strong{
    font-size:18px;
  }

  .gr-trustgrid span{
    font-size:14px;
  }


  /* SECCIONES */
  .gr-section{
    padding:55px 0;
  }


  /* CONTACTO */
  .gr-contact-v2{
    padding:55px 0;
  }

  .gr-contact-layout{
    gap:35px;
  }

  .gr-contact-info h2{
    font-size:38px;
  }


  /* FOOTER MÁS COMPACTO */
  .gr-footer-v2{
    padding:40px 0 90px;
  }

  .gr-footer-main{
    gap:30px;
  }

  .gr-footer-brand{
    gap:20px;
  }

  .gr-footer-brand img{
    width:170px;
  }

  .gr-footer-brand div{
    font-size:18px;
    line-height:1.35;
  }

  .gr-footer-title{
    margin-bottom:14px;
  }

  .gr-footer-links{
    gap:9px;
  }

  .gr-footer-links a{
    font-size:16px;
  }

  .gr-footer-contact{
    gap:10px;
  }

  .gr-footer-bottom{
    margin-top:32px;
    padding-top:22px;
    font-size:13px;
  }


  /* WHATSAPP FLOTANTE */
  .gr-whatsapp{
    width:58px;
    height:58px;
    border-radius:50%;
    padding:0;
    right:16px;
    bottom:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:0;
    z-index:9999;
  }

  .gr-whatsapp::after{
    content:"W";
    font-size:25px;
    font-weight:800;
    color:white;
  }

}
@media (max-width: 640px){

  /* HEADER MÁS COMPACTO */
  .gr-nav{
    height:82px;
  }

  .gr-brand img{
    height:46px;
  }


  /* FOOTER MÁS EQUILIBRADO */
  .gr-footer-v2{
    padding:34px 0 72px;
  }

  .gr-footer-main{
    gap:24px;
  }

  .gr-footer-brand{
    gap:16px;
  }

  .gr-footer-brand img{
    width:145px;
  }

  .gr-footer-brand div{
    font-size:17px;
    line-height:1.3;
    padding-top:14px;
  }

  .gr-footer-title{
    margin-bottom:10px;
  }

  .gr-footer-links{
    gap:7px;
  }

  .gr-footer-links a{
    font-size:15px;
  }

  .gr-footer-contact{
    gap:8px;
    font-size:15px;
  }

  .gr-footer-bottom{
    margin-top:24px;
    padding-top:18px;
    gap:5px;
    font-size:12px;
  }

  .gr-footer-bottom p{
    margin:0;
  }


  /* WHATSAPP */
  .gr-whatsapp{
    width:54px;
    height:54px;
    right:14px;
    bottom:16px;
  }

  .gr-whatsapp::after{
    font-size:23px;
  }

}
/* ===== REDISEÑO MÓVIL IPHONE ===== */
@media (max-width: 640px){

  /* HEADER */
  .gr-nav{
    height:72px;
  }

  .gr-brand img{
    height:44px;
  }

  /* HERO */
  .gr-hero-inner{
    min-height:auto;
    padding:48px 0 54px;
  }

  .gr-hero-copy{
    padding:0;
    text-align:left;
  }

  .gr-kicker{
    font-size:10px;
    letter-spacing:.18em;
    margin-bottom:16px;
  }

  .gr-hero h1{
    font-size:34px;
    line-height:1.08;
    margin-bottom:18px;
  }

  .gr-hero p{
    font-size:15px;
    line-height:1.5;
    margin-bottom:22px;
  }

  .gr-cta-row{
    gap:10px;
  }

  .gr-btn{
    min-height:48px;
    padding:12px 16px;
    font-size:14px;
    border-radius:10px;
  }

  /* TRUST BAR */
  .gr-trustgrid{
    grid-template-columns:1fr 1fr;
    gap:16px;
    padding:24px 0;
  }

  .gr-trustgrid > div:first-child{
    grid-column:1 / -1;
  }

  .gr-trustgrid strong{
    font-size:17px;
  }

  .gr-trustgrid span{
    font-size:13px;
  }

  /* SECCIONES */
  .gr-section{
    padding:44px 0;
  }

  .gr-section h2,
  .gr-contact-info h2{
    font-size:30px;
    line-height:1.12;
  }

  .gr-lead{
    font-size:15px;
  }

  /* TARJETAS */
  .gr-services-grid,
  .gr-process-v2,
  .gr-why-grid,
  .gr-pillars,
  .gr-stats{
    grid-template-columns:1fr;
    gap:14px;
  }

  .gr-service,
  .gr-process-step,
  .gr-why-card,
  .gr-pillar,
  .gr-stat{
    padding:20px;
  }

  .gr-service h3{
    font-size:22px;
  }

  .gr-service p{
    font-size:14px;
    line-height:1.5;
  }

  /* CONTACTO */
  .gr-contact-v2{
    padding:44px 0;
  }

  .gr-contact-layout{
    gap:28px;
  }

  .gr-contact-form-card{
    padding:20px 16px;
    border-radius:16px;
  }

  .gr-contact-form-card h3{
    font-size:28px;
  }

  .gr-form-row{
    grid-template-columns:1fr;
  }

  /* FOOTER */
  .gr-footer-v2{
    padding:30px 0 68px;
  }

  .gr-footer-main{
    grid-template-columns:1fr;
    gap:22px;
  }

  .gr-footer-brand img{
    width:135px;
  }

  .gr-footer-brand div{
    font-size:16px;
    padding-top:12px;
  }

  .gr-footer-links{
    gap:6px;
  }

  .gr-footer-links a{
    font-size:14px;
  }

  .gr-footer-contact{
    font-size:14px;
    gap:7px;
  }

  .gr-footer-bottom{
    margin-top:20px;
    padding-top:16px;
    font-size:11px;
  }

  /* WHATSAPP */
  .gr-whatsapp{
    width:52px;
    height:52px;
    right:14px;
    bottom:14px;
  }

  .gr-whatsapp::after{
    font-size:22px;
  }
}
/* ==================================================
   HEADER MÓVIL GRUPO RICREA
   ================================================== */

.gr-menu-toggle{
    display:none;
}


/* IPHONE / MÓVIL */
@media (max-width:800px){

    .gr-topbar{
        position:relative;
        z-index:999;
        background:#fff;
    }

    .gr-nav{
        height:78px;
        display:flex;
        align-items:center;
        justify-content:space-between;
    }

    .gr-brand img{
        height:52px;
        width:auto;
    }


    /* BOTÓN HAMBURGUESA */

    .gr-menu-toggle{
        width:46px;
        height:46px;
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        gap:6px;

        background:transparent;
        border:0;
        padding:0;
        cursor:pointer;
    }

    .gr-menu-toggle span{
        display:block;
        width:28px;
        height:3px;
        border-radius:3px;
        background:#0D1B3D;
        transition:.25s ease;
    }


    /* ANIMACIÓN X */

    .gr-menu-toggle.is-open span:nth-child(1){
        transform:translateY(9px) rotate(45deg);
    }

    .gr-menu-toggle.is-open span:nth-child(2){
        opacity:0;
    }

    .gr-menu-toggle.is-open span:nth-child(3){
        transform:translateY(-9px) rotate(-45deg);
    }


    /* MENÚ DESPLEGABLE */

    .gr-navlinks{
        display:none;
        position:absolute;
        top:100%;
        left:0;
        width:100%;

        background:#fff;

        padding:20px 24px 26px;

        flex-direction:column;
        align-items:stretch;
        gap:0;

        box-shadow:0 18px 30px rgba(13,27,61,.12);
        border-top:1px solid #E6E8EB;
    }

    .gr-navlinks.is-open{
        display:flex;
    }

    .gr-navlinks > a:not(.gr-btn){
        padding:15px 2px;
        border-bottom:1px solid #E6E8EB;

        font-size:16px;
        font-weight:600;
        color:#0D1B3D;
    }

    .gr-navlinks .gr-btn{
        margin-top:18px;
        width:100%;
        min-height:50px;
    }

}
/* CORRECCIÓN MENÚ HAMBURGUESA MÓVIL */
@media (max-width:800px){

  .gr-menu-toggle{
    appearance:none !important;
    -webkit-appearance:none !important;

    width:44px !important;
    height:44px !important;
    padding:0 !important;
    margin:0 !important;

    background:transparent !important;
    background-color:transparent !important;
    border:none !important;
    border-radius:0 !important;
    box-shadow:none !important;

    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    gap:6px !important;
  }

  .gr-menu-toggle span{
    display:block !important;
    width:28px !important;
    height:3px !important;
    min-height:3px !important;

    background:#0D1B3D !important;
    border-radius:2px !important;
    margin:0 !important;
    padding:0 !important;
  }

}
/* ===== ICONOS SECCIÓN ALIADO ===== */

.gr-trustitem{
    text-align:center;
}

.gr-trusticon{
    width:62px;
    height:62px;
    margin:0 auto 14px;
    border-radius:50%;
    background:#eef6ff;

    display:flex;
    align-items:center;
    justify-content:center;
}

.gr-trusticon svg{
    width:30px;
    height:30px;
    fill:none;
    stroke:#1684ee;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.gr-trustintro strong,
.gr-trustitem strong{
    display:block;
}

.gr-trustintro span,
.gr-trustitem span{
    display:block;
}


/* IPHONE */
@media (max-width:640px){

    .gr-trustgrid{
        grid-template-columns:repeat(3,1fr);
        gap:0;
        align-items:start;
    }

    .gr-trustintro{
        grid-column:1 / -1;
        text-align:left;
        margin-bottom:28px;
    }

    .gr-trustitem{
        padding:0 8px;
    }

    .gr-trustitem + .gr-trustitem{
        border-left:1px solid #dbe4ee;
    }

    .gr-trusticon{
        width:54px;
        height:54px;
        margin-bottom:10px;
    }

    .gr-trusticon svg{
        width:27px;
        height:27px;
    }

    .gr-trustitem strong{
        font-size:16px;
        line-height:1.15;
    }

    .gr-trustitem span{
        margin-top:5px;
        font-size:12px;
        line-height:1.3;
    }
}
/* ===== OCULTAR HAMBURGUESA EN ESCRITORIO ===== */

.gr-menu-toggle{
    display:none !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}


/* MOSTRAR SOLO EN TABLET / MÓVIL */
@media (max-width:800px){

    .gr-menu-toggle{
        display:flex !important;
        width:44px !important;
        height:44px !important;
        padding:0 !important;
        margin:0 !important;

        background:transparent !important;
        border:none !important;
        border-radius:0 !important;
        box-shadow:none !important;

        flex-direction:column;
        justify-content:center;
        align-items:center;
        gap:6px;
    }

    .gr-menu-toggle span{
        display:block;
        width:28px;
        height:3px;
        background:#0D1B3D !important;
        border-radius:2px;
    }
}
.gr-whatsapp svg{
    width:32px;
    height:32px;
    display:block;
    color:#fff;
}
.gr-whatsapp::after{
    content:none !important;
    display:none !important;
}

.gr-whatsapp svg{
    width:32px;
    height:32px;
    display:block;
    color:#fff;
}
/* Botón formulario de contacto */
.gr-contact-form-card button,
.gr-contact-form-card button[type="submit"] {
    color: #FFFFFF !important;
}

.gr-contact-form-card button:hover,
.gr-contact-form-card button[type="submit"]:hover {
    color: #FFFFFF !important;
}
/* Botón Solicitar información */
.gr-contact-form-card button,
.gr-contact-form-card button[type="submit"] {
    color: #FFFFFF !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.gr-contact-form-card button:hover,
.gr-contact-form-card button[type="submit"]:hover,
.gr-contact-form-card button:focus,
.gr-contact-form-card button[type="submit"]:focus {
    color: #FFFFFF !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}