
:root{--navy:#06264a;--green:#4f8f36;--line:#dce5ee;--soft:#f5f8fb;--muted:#637083;--shadow:0 20px 55px rgba(6,38,74,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#0d1b2a;line-height:1.6;overflow-x:hidden}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand-logo img{display:block;width:200px;height:auto}.menu{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:800;color:#21364e}.menu a:not(.btn):hover{color:var(--green)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:999px;font-weight:900;border:1px solid transparent;transition:.2s}.btn-primary{background:var(--navy);color:white;box-shadow:0 14px 30px rgba(6,38,74,.18)}.btn-light{background:white;color:var(--navy);border-color:var(--line)}.btn:hover{transform:translateY(-2px)}
.hero{position:relative;overflow:hidden;padding:78px 0 72px;background:linear-gradient(120deg,rgba(6,38,74,.95),rgba(7,48,82,.88));color:white}.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 20%,rgba(115,184,74,.24),transparent 30%),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:auto,72px 72px,72px 72px;pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.04fr .96fr;gap:52px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:12px;color:#b7e59a;text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:13px;margin-bottom:16px}.eyebrow::before{content:"";width:42px;height:2px;background:#73b84a}
h1{margin:0 0 24px;font-size:clamp(42px,5.2vw,68px);line-height:1.02;letter-spacing:-.05em}.hero-text p{margin:0 0 30px;color:rgba(255,255,255,.82);font-size:19px;max-width:680px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-panel{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);border-radius:32px;padding:28px;backdrop-filter:blur(14px);box-shadow:0 30px 80px rgba(0,0,0,.22)}.logo-card{background:#fff;border-radius:24px;padding:30px 28px;margin-bottom:18px;box-shadow:var(--shadow);text-align:center}.logo-card img{width:min(440px,100%);height:auto;display:block;margin:0 auto}
.kpi-list{display:grid;gap:14px}.kpi{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.06)}.kpi b{display:block;color:white}.kpi span{color:rgba(255,255,255,.72);font-size:14px}.kpi-icon{width:48px;height:48px;border-radius:15px;background:rgba(115,184,74,.18);color:#b7e59a;display:grid;place-items:center;font-weight:900}
section{padding:76px 0;scroll-margin-top:112px}.soft{background:var(--soft)}.section-head{max-width:820px;margin-bottom:42px}.section-head small{color:var(--green);text-transform:uppercase;letter-spacing:.14em;font-weight:900}.section-head h2{color:var(--navy);font-size:clamp(30px,3.4vw,46px);line-height:1.1;letter-spacing:-.04em;margin:10px 0 14px}.section-head p{color:var(--muted);font-size:18px;margin:0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:white;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 16px 42px rgba(6,38,74,.06);transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-icon{width:54px;height:54px;border-radius:18px;background:#edf6e9;color:var(--green);display:grid;place-items:center;font-weight:900;margin-bottom:20px}.card h3{margin:0 0 12px;color:var(--navy);font-size:22px}.card p{margin:0;color:var(--muted)}.industry{min-height:220px;display:flex;flex-direction:column;justify-content:space-between}.industry strong{color:var(--green);letter-spacing:.12em;font-size:13px}
.location-card{background:white;border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:0 16px 42px rgba(6,38,74,.06);display:grid;grid-template-columns:72px 1fr;gap:22px;align-items:center}.location-icon{width:72px;height:72px;border-radius:22px;background:#edf6e9;color:var(--green);display:grid;place-items:center;font-size:30px;font-weight:900}.location-card h3{margin:0 0 8px;color:var(--navy);font-size:26px}.location-card p{margin:0;color:var(--muted);font-size:17px}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}.process-list{display:grid;gap:16px;counter-reset:item}.process-item{counter-increment:item;display:grid;grid-template-columns:58px 1fr;gap:18px;padding:22px;border:1px solid var(--line);border-radius:24px;background:white}.process-item::before{content:"0" counter(item);width:58px;height:58px;border-radius:50%;background:var(--navy);color:white;display:grid;place-items:center;font-weight:900}.process-item h3{color:var(--navy);margin:0 0 6px}.process-item p{color:var(--muted);margin:0}
.quote-box{border-radius:34px;padding:42px;background:linear-gradient(135deg,#fff,#eef6ea);border:1px solid var(--line);box-shadow:var(--shadow)}.quote-box h3{color:var(--navy);font-size:clamp(28px,3vw,40px);line-height:1.12;margin:0 0 18px;letter-spacing:-.03em}.quote-box p{color:var(--muted);margin:0}
.cta{background:linear-gradient(135deg,var(--navy),#0b3c67);color:white;border-radius:38px;padding:54px;display:grid;grid-template-columns:1.3fr .7fr;gap:28px;align-items:center;box-shadow:var(--shadow)}.cta h2{margin:0 0 12px;font-size:clamp(32px,4vw,50px);line-height:1.08;letter-spacing:-.04em}.cta p{color:rgba(255,255,255,.76);margin:0;font-size:18px}.cta .btn{justify-self:end}
footer{border-top:1px solid var(--line);padding:38px 0;color:var(--muted);font-size:14px}.footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-row a{color:var(--navy);font-weight:800}.mobile-menu-label{display:none}
@media(max-width:980px){.nav{min-height:78px}.brand-logo img{width:170px}.hero-grid,.split,.cta{grid-template-columns:1fr}.grid-3,.grid-4{grid-template-columns:1fr 1fr}.cta .btn{justify-self:start}}
@media(max-width:700px){.container{width:min(100% - 28px,1180px)}.nav{min-height:72px}.brand-logo img{width:150px}.menu{display:none}.mobile-menu-label{display:inline-flex;color:var(--navy);font-weight:900;font-size:13px}.hero{padding:54px 0 52px}.hero-grid{gap:30px}h1{font-size:clamp(38px,12vw,54px)}.hero-text p{font-size:17px}section{padding:58px 0;scroll-margin-top:86px}.grid-3,.grid-4{grid-template-columns:1fr}.hero-panel,.cta,.quote-box{padding:24px;border-radius:26px}.logo-card{padding:24px}.process-item{grid-template-columns:50px 1fr;padding:18px}.process-item::before{width:50px;height:50px}.location-card{grid-template-columns:1fr;padding:24px}}

sup{font-size:.55em;line-height:0;vertical-align:super;margin-left:1px;}


/* HEADER OPTIMIZADO */
header {
  min-height: 0;
}

.nav {
  min-height: 78px;
  padding: 0;
}

.brand-logo {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.brand-logo img {
  width: 190px;
  max-width: 190px;
  height: auto;
}

.menu {
  margin-left: auto;
}

.mobile-contact {
  display: none;
}

@media (max-width: 980px) {
  .nav {
    min-height: 74px;
  }

  .brand-logo img {
    width: 168px;
    max-width: 168px;
  }

  .menu {
    gap: 16px;
  }
}

@media (max-width: 700px) {
  header {
    background: rgba(255,255,255,0.98);
  }

  .nav {
    min-height: 68px;
    gap: 12px;
  }

  .brand-logo img {
    width: 142px;
    max-width: 142px;
  }

  .menu {
    display: none !important;
  }

  .mobile-menu-label,
  .brand,
  .brand-text,
  .logo-text {
    display: none !important;
  }

  .mobile-contact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    background: var(--navy);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    padding: 9px 14px;
    border-radius: 999px;
    box-shadow: 0 10px 20px rgba(6,38,74,.14);
  }

  section {
    scroll-margin-top: 82px;
  }
}

@media (max-width: 380px) {
  .brand-logo img {
    width: 128px;
    max-width: 128px;
  }

  .mobile-contact {
    font-size: 12px;
    padding: 8px 12px;
  }
}


/* AJUSTES FINALES RESPONSIVE - DESKTOP + MOBILE */
:root {
  --header-h-desktop: 78px;
  --header-h-mobile: 68px;
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.container {
  width: min(1180px, calc(100% - 48px));
}

.nav {
  min-height: var(--header-h-desktop);
}

.brand-logo img {
  width: 188px;
  max-width: 188px;
}

.hero {
  padding: 72px 0 68px;
}

.hero-grid {
  gap: 44px;
}

h1 {
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1.03;
}

.hero-text p {
  font-size: clamp(17px, 1.45vw, 19px);
}

.logo-card {
  padding: 28px;
}

.logo-card img {
  width: min(390px, 100%);
}

section {
  padding: 72px 0;
  scroll-margin-top: 96px;
}

.section-head h2 {
  font-size: clamp(30px, 3.2vw, 44px);
}

.card {
  min-height: 100%;
}

.cta {
  padding: 48px;
}

/* Tablet */
@media (max-width: 980px) {
  .container {
    width: min(100% - 40px, 1180px);
  }

  .hero {
    padding: 60px 0;
  }

  .hero-grid {
    gap: 34px;
  }

  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr 1fr;
  }

  .brand-logo img {
    width: 165px;
    max-width: 165px;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .container {
    width: min(100% - 28px, 1180px);
  }

  .nav {
    min-height: var(--header-h-mobile);
  }

  .brand-logo img {
    width: 150px;
    max-width: 150px;
  }

  .mobile-contact {
    font-size: 12px;
    padding: 8px 12px;
  }

  .hero {
    padding: 42px 0 44px;
  }

  .hero-grid {
    gap: 24px;
  }

  .eyebrow {
    font-size: 11px;
    letter-spacing: .12em;
    margin-bottom: 14px;
  }

  .eyebrow::before {
    width: 30px;
  }

  h1 {
    font-size: clamp(34px, 10.5vw, 44px);
    line-height: 1.05;
    letter-spacing: -.04em;
    margin-bottom: 18px;
  }

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

  .hero-actions {
    gap: 10px;
  }

  .hero-actions .btn {
    width: 100%;
    padding: 12px 16px;
  }

  .hero-panel {
    padding: 20px;
    border-radius: 24px;
  }

  .logo-card {
    padding: 20px;
    border-radius: 20px;
  }

  .kpi {
    grid-template-columns: 42px 1fr;
    padding: 15px;
  }

  .kpi-icon {
    width: 42px;
    height: 42px;
    border-radius: 13px;
  }

  section {
    padding: 52px 0;
    scroll-margin-top: 82px;
  }

  .section-head {
    margin-bottom: 28px;
  }

  .section-head h2 {
    font-size: clamp(28px, 8.5vw, 36px);
    line-height: 1.12;
  }

  .section-head p {
    font-size: 16px;
  }

  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .card {
    padding: 22px;
    border-radius: 22px;
  }

  .card h3 {
    font-size: 20px;
  }

  .card p {
    font-size: 15px;
  }

  .card-icon {
    width: 48px;
    height: 48px;
    border-radius: 15px;
    margin-bottom: 16px;
  }

  .industry {
    min-height: auto;
    gap: 18px;
  }

  .quote-box,
  .cta {
    padding: 24px;
    border-radius: 24px;
  }

  .quote-box h3 {
    font-size: clamp(26px, 8vw, 34px);
  }

  .process-list {
    gap: 14px;
  }

  .process-item {
    grid-template-columns: 46px 1fr;
    gap: 14px;
    padding: 17px;
    border-radius: 20px;
  }

  .process-item::before {
    width: 46px;
    height: 46px;
    font-size: 14px;
  }

  .process-item h3 {
    font-size: 18px;
  }

  .process-item p {
    font-size: 15px;
  }

  .cta {
    gap: 22px;
  }

  .cta h2 {
    font-size: clamp(28px, 8vw, 38px);
  }

  .cta p {
    font-size: 16px;
  }

  .cta .btn {
    width: 100%;
  }

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

/* Very small devices */
@media (max-width: 380px) {
  .brand-logo img {
    width: 132px;
    max-width: 132px;
  }

  .mobile-contact {
    font-size: 11px;
    padding: 7px 10px;
  }

  h1 {
    font-size: 32px;
  }

  .hero-actions .btn,
  .cta .btn {
    font-size: 14px;
  }
}
