:root{
  --blue:#1D637C;
  --petrol:#2A7C8C;
  --green:#41B653;
  --orange:#E29743;
  --light:#F2F2F2;
  --ink:#12364A;
  --muted:#65757d;
  --white:#fff;
  --max:1180px;
  --title:'Cinzel', Georgia, serif;
  --body:'Montserrat', Arial, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:82px}
body{font-family:var(--body);color:var(--ink);background:#fff;line-height:1.65}
a{text-decoration:none;color:inherit}
.container{width:min(var(--max),calc(100% - 64px));margin:auto}
.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(18,54,74,.08);transition:.25s}
.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}
.brand{height:100%;display:flex;align-items:center;}
.brand img{width:auto;height:100%;max-width:170px;display:block;object-fit:contain;}
/* .brand img{width:170px;height:auto;display:block} */
.main-nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.main-nav a{position:relative;padding:8px 0;color:#37515e}.main-nav a:after{content:"";position:absolute;left:0;bottom:1px;width:0;height:2px;background:var(--green);transition:.2s}.main-nav a:hover:after,.main-nav a.active:after{width:100%}
.main-nav .nav-cta{padding:11px 18px;border:1px solid var(--blue);color:var(--blue);margin-left:4px}.main-nav .nav-cta:after{display:none}.main-nav .nav-cta:hover{background:var(--blue);color:#fff}
.menu-toggle{display:none;border:0;background:none;width:42px;height:42px}
.menu-toggle span{display:block;width:23px;height:2px;background:var(--blue);margin:5px auto}
.hero{min-height:760px;position:relative;display:flex;align-items:center;background:linear-gradient(90deg,rgba(10,44,62,.9) 0%,rgba(29,99,124,.72) 50%,rgba(29,99,124,.18) 100%),url('https://images.unsplash.com/photo-1504917595217-d4dc5ebe6122?auto=format&fit=crop&w=2200&q=85') center/cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,32,45,.15),transparent 55%,rgba(7,32,45,.3))}
.hero-content{position:relative;color:#fff;padding-top:80px;max-width:var(--max)}
.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:#fff;margin-bottom:20px}.eyebrow.dark{color:var(--petrol)}
.hero h1{font-family:var(--title);font-weight:600;font-size:clamp(44px,6vw,78px);line-height:1.08;letter-spacing:-.025em;max-width:760px}.hero h1 span{color:#f2f2f2}
.hero-copy{max-width:620px;font-size:17px;margin-top:24px;color:rgba(255,255,255,.9)}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:36px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;transition:.2s}.btn-primary{background:var(--orange);color:#fff}.btn-primary:hover{transform:translateY(-2px);filter:brightness(.96)}.btn-orange{background:var(--orange);color:#fff}.text-link{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.text-link span{font-size:20px;margin-left:7px;vertical-align:-2px}.hero .text-link{color:#fff}
.hero-bottom{position:absolute;bottom:0;left:0;width:100%;border-top:1px solid rgba(255,255,255,.25);color:#fff}.hero-bottom-inner{height:58px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.section{padding:115px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro h2,.section-heading h2,.process h2{font-family:var(--title);font-size:clamp(34px,4vw,52px);line-height:1.15;font-weight:600}.intro h2 em,.section-heading h2 em,.process h2 em,.video-copy h2 em,.cta-section h2 em{font-style:normal;color:var(--petrol)}
.intro-text{font-size:17px;color:#556a73;max-width:560px}.intro-text p+p{margin-top:20px}.values-line{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dbe2e5;margin-top:82px}.values-line div{padding:28px 0;border-right:1px solid #dbe2e5}.values-line div:last-child{border-right:0}.values-line strong{display:block;color:var(--green);font-size:12px;letter-spacing:.12em;margin-bottom:6px;margin-left:10px;}.values-line span{font-size:15px;font-weight:600;margin-left:10px}
.services{background:var(--light)}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:55px}.section-heading>p{max-width:390px;color:var(--muted);font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d8e0e2}.service-card{background:#fff;padding:34px 28px;min-height:305px;display:flex;flex-direction:column}.service-card.featured{border-top:4px solid var(--green)}.card-number{font-size:11px;color:var(--petrol);font-weight:700;letter-spacing:.1em}.service-card h3{font-size:19px;line-height:1.3;margin:26px 0 14px}.service-card p{font-size:13px;color:var(--muted)}.service-card a{margin-top:auto;padding-top:25px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}.service-card a span{margin-left:7px;font-size:17px}
.video-section{background:var(--blue);color:#fff}.video-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:center}.video-copy h2{font-family:var(--title);font-size:clamp(34px,4vw,50px);line-height:1.15;font-weight:600}.video-copy>p:not(.eyebrow){margin:24px 0 28px;color:rgba(255,255,255,.78);max-width:500px;font-size:15px}.light-link{color:#fff}.video-frame{aspect-ratio:16/9;background:#0d455a;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.2)}.video-poster{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(42,124,140,.5),rgba(10,52,69,.85)),url('https://images.unsplash.com/photo-1541888946425-d81bb19240f5?auto=format&fit=crop&w=1400&q=80') center/cover;text-align:center}.play{width:66px;height:66px;border:1px solid rgba(255,255,255,.8);border-radius:50%;display:grid;place-items:center;margin-bottom:18px}.play span{font-size:18px;margin-left:3px}.video-poster p{font-size:11px;letter-spacing:.17em;font-weight:700}.video-poster small{font-size:9px;opacity:.65;margin-top:6px}
.sectors{background:#fff}.compact{margin-bottom:45px}.sector-list{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}.sector{min-height:280px;position:relative;display:flex;align-items:flex-end;padding:28px;color:#fff;overflow:hidden;background-size:cover;background-position:center}.sector:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,37,49,.86),rgba(8,37,49,.08))}.sector>div{position:relative}.sector span{font-size:10px;letter-spacing:.15em;color:#9ed6a5}.sector h3{font-size:24px;margin:7px 0 2px}.sector p{font-size:12px;opacity:.82}.sector-industry{background-image:url('https://images.unsplash.com/photo-1581092160607-ee22621dd758?auto=format&fit=crop&w=1200&q=80')}.sector-construction{background-image:url('https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=1200&q=80')}.sector-commerce{background-image:url('https://images.unsplash.com/photo-1556761175-b413da4baf72?auto=format&fit=crop&w=1200&q=80')}
.process{background:#fbfbfb}.process-head{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:60px}.process-head>p{max-width:390px;color:var(--muted);font-size:14px}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d8e0e2}.step{padding:30px 28px 0 0;border-right:1px solid #d8e0e2;margin-right:28px;min-height:180px}.step:last-child{border-right:0;margin-right:0}.step span{font-size:11px;color:var(--orange);font-weight:700}.step h3{font-size:19px;margin:17px 0 9px}.step p{font-size:13px;color:var(--muted);max-width:220px}
.cta-section{padding:100px 0;background:var(--petrol);color:#fff}.cta-inner{display:flex;justify-content:space-between;gap:60px;align-items:center}.cta-section h2{font-family:var(--title);font-size:clamp(36px,4.5vw,58px);line-height:1.15;font-weight:600}.cta-section h2 em{color:#eaf5e9}.cta-contact{max-width:380px}.cta-contact p{color:rgba(255,255,255,.78);font-size:14px;margin-bottom:25px}
.site-footer{background:#0d394d;color:#fff}.footer-top{padding:60px 0;display:flex;justify-content:space-between;gap:60px}.footer-brand img{width:180px;opacity:.95}.footer-brand p{font-size:10px;text-transform:uppercase;letter-spacing:.12em;line-height:1.7;color:rgba(255,255,255,.6);margin-top:14px}.footer-links{display:flex;gap:100px}.footer-links div{display:flex;flex-direction:column;gap:8px}.footer-links span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9ed6a5;margin-bottom:8px}.footer-links a{font-size:12px;color:rgba(255,255,255,.78)}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);padding:20px 0;display:flex;justify-content:space-between;font-size:10px;color:rgba(255,255,255,.55)}.footer-bottom a{color:rgba(255,255,255,.8)}
@media(max-width:900px){.container{width:min(var(--max),calc(100% - 40px))}.main-nav{gap:18px}.service-grid{grid-template-columns:repeat(2,1fr)}.video-grid{gap:45px}.sector-list{grid-template-columns:1fr 1fr}.sector-industry{grid-column:1/-1}.process-steps{grid-template-columns:repeat(2,1fr);row-gap:25px}.step:nth-child(2){border-right:0}.step:nth-child(3){border-top:1px solid #d8e0e2;padding-top:28px}.step:nth-child(4){border-top:1px solid #d8e0e2;padding-top:28px}.footer-links{gap:45px}}
@media(max-width:700px){html{scroll-padding-top:72px}.nav-wrap{height:72px}.brand img{width:145px}.menu-toggle{display:block}.main-nav{position:absolute;top:72px;left:0;width:100%;background:#fff;border-top:1px solid #e5eaec;display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 20px;box-shadow:0 12px 30px rgba(0,0,0,.08)}.main-nav.open{display:flex}.main-nav a{padding:13px 0}.main-nav .nav-cta{margin:5px 0 0;text-align:center}.hero{min-height:720px;background-position:60% center}.hero-content{padding-top:90px}.hero h1{font-size:43px}.hero-copy{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-bottom-inner{height:50px;font-size:8px}.hero-bottom-inner span:last-child{display:none}.section{padding:82px 0}.two-col,.video-grid,.cta-inner{grid-template-columns:1fr;display:grid;gap:34px}.intro-text{font-size:15px}.values-line{margin-top:55px}.values-line div{padding:20px 12px 20px 0}.values-line span{font-size:12px}.section-heading,.process-head{display:block;margin-bottom:38px}.section-heading>p,.process-head>p{margin-top:22px}.section-heading h2,.process h2{font-size:36px}.service-grid{grid-template-columns:1fr}.service-card{min-height:260px}.video-copy h2{font-size:36px}.video-frame{margin-top:5px}.sector-list{grid-template-columns:1fr}.sector-industry{grid-column:auto}.sector{min-height:220px}.process-steps{grid-template-columns:1fr}.step,.step:nth-child(2),.step:nth-child(3),.step:nth-child(4){border-right:0;border-top:1px solid #d8e0e2;margin-right:0;padding:25px 0 0;min-height:auto}.step:first-child{border-top:0;padding-top:0}.cta-section{padding:78px 0}.cta-section h2{font-size:38px}.footer-top{display:block;padding:45px 0}.footer-links{margin-top:42px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-bottom{display:flex;gap:20px;flex-direction:column}.footer-bottom a{order:-1}.eyebrow{font-size:10px}}

/* --- Scroll reveal: motion subtle y professional --- */
.site-header{transition:height .28s ease,background-color .28s ease,box-shadow .28s ease,border-color .28s ease}
.site-header.scrolled{background:rgba(255,255,255,.985);box-shadow:0 8px 28px rgba(13,57,77,.08);border-bottom-color:rgba(18,54,74,.12)}
.site-header.scrolled .nav-wrap{height:72px}
.site-header.scrolled .brand img{width:154px}

[data-reveal], [data-reveal-group] > *{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1);
  will-change:opacity,transform;
}
[data-reveal="fade"]{transform:none}
[data-reveal="left"]{transform:translateX(-24px)}
[data-reveal="right"]{transform:translateX(24px)}
[data-reveal].is-visible, [data-reveal-group] > *.is-visible{
  opacity:1;
  transform:none;
}
[data-reveal-group] > *:nth-child(2){transition-delay:.08s}
[data-reveal-group] > *:nth-child(3){transition-delay:.16s}
[data-reveal-group] > *:nth-child(4){transition-delay:.24s}
[data-reveal-group] > *:nth-child(5){transition-delay:.32s}

/* Hero gets a slightly softer entrance, so it does not feel like a template animation. */
.hero-content[data-reveal]{transition-duration:.9s}

@media (max-width:700px){
  .site-header.scrolled .nav-wrap{height:68px}
  .site-header.scrolled .brand img{width:138px}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  [data-reveal], [data-reveal-group] > *{opacity:1;transform:none}
}


/* =========================================================
   FORMULARIO DE CONTACTO
   ========================================================= */

.contact-inner{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:90px;
  align-items:start;
}

.contact-intro h2{
  font-family:var(--title);
  font-size:clamp(36px,4.5vw,58px);
  line-height:1.15;
  font-weight:600;
  color:#fff;
}

.contact-intro h2 em{
  font-style:normal;
  color:#eaf5e9;
}

.contact-intro > p:not(.eyebrow){
  max-width:420px;
  margin-top:25px;
  color:rgba(255,255,255,.75);
  font-size:14px;
  line-height:1.8;
}


/* FORMULARIO */

.contact-form{
  width:100%;
}

.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin-bottom:22px;
}

.form-field{
  display:flex;
  flex-direction:column;
  margin-bottom:22px;
}

.form-field label{
  margin-bottom:9px;
  color:rgba(255,255,255,.9);
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.form-field input,
.form-field select,
.form-field textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.07);
  color:#fff;
  border-radius:0;
  padding:14px 15px;
  font-family:var(--body);
  font-size:13px;
  outline:none;
  transition:
    border-color .2s ease,
    background-color .2s ease;
}

.form-field input,
.form-field select{
  height:49px;
}

.form-field textarea{
  min-height:125px;
  resize:vertical;
  line-height:1.6;
}

.form-field input::placeholder,
.form-field textarea::placeholder{
  color:rgba(255,255,255,.45);
}

.form-field select{
  color:rgba(255,255,255,.8);
  appearance:auto;
}

.form-field select option{
  color:var(--ink);
  background:#fff;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  border-color:var(--orange);
  background:rgba(255,255,255,.1);
}

.form-submit{
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:5px;
}

.form-submit .btn{
  border:0;
  cursor:pointer;
}

.form-submit > span{
  color:rgba(255,255,255,.5);
  font-size:11px;
}


/* =========================================================
   FORMULARIO — MOBILE
   ========================================================= */

@media(max-width:900px){

  .contact-inner{
    grid-template-columns:1fr;
    gap:45px;
  }

  .contact-intro > p:not(.eyebrow){
    max-width:600px;
  }

}


@media(max-width:700px){

  .contact-inner{
    gap:38px;
  }

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

  .form-row{
    grid-template-columns:1fr;
    gap:0;
    margin-bottom:0;
  }

  .form-field{
    margin-bottom:20px;
  }

  .form-submit{
    align-items:flex-start;
    flex-direction:column;
    gap:13px;
  }

  .form-submit .btn{
    width:100%;
  }

}

  .hidden-honeypot{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}