:root {
  --blue:#0869b1; --blue-dark:#064777; --blue-deep:#082f4b;
  --red:#e52d36; --dark:#17242e; --gray:#667680;
  --light:#f2f6f9; --line:#dce5eb; --white:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--dark);line-height:1.65;background:#fff}
header{position:fixed;inset:0 0 auto 0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(8,105,177,.12);box-shadow:0 4px 22px rgba(0,0,0,.06)}
.nav{max-width:1240px;height:86px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.logo-nav{width:220px;height:auto;display:block}
nav{display:flex;align-items:center;gap:5px}
nav a{color:#29404f;text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.4px;padding:11px 13px;border-radius:7px}
nav a:hover{color:var(--blue);background:#edf6fc}
.nav-cta{background:var(--blue);color:white!important}
.nav-cta:hover{background:var(--blue-dark);color:white!important}

.hero{min-height:760px;padding:145px 24px 90px;background:linear-gradient(120deg,#062f4c 0%,#075a91 52%,#0875bd 100%);position:relative;overflow:hidden;color:white}
.hero::before{content:"";position:absolute;width:620px;height:620px;right:-240px;top:-210px;border:100px solid rgba(255,255,255,.045);border-radius:50%}
.hero::after{content:"";position:absolute;width:360px;height:360px;left:-220px;bottom:-230px;border:80px solid rgba(229,45,54,.13);border-radius:50%}
.hero-inner{position:relative;z-index:2;max-width:1240px;margin:auto;display:grid;grid-template-columns:1fr .95fr;gap:70px;align-items:center}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:18px;color:#fff}
.hero h1{font-size:clamp(38px,4.8vw,64px);line-height:1.04;letter-spacing:-1.7px;margin-bottom:20px}
.hero h1 span{color:#fff;border-bottom:5px solid var(--red)}
.hero-copy p{font-size:19px;max-width:650px;color:rgba(255,255,255,.9)}
.specialties{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}
.specialties span{font-size:12px;font-weight:900;letter-spacing:1px;border:1px solid rgba(255,255,255,.35);padding:7px 10px;border-radius:5px;color:#fff}
.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:7px;text-decoration:none;font-weight:800;font-size:14px;transition:.2s}
.btn-primary{background:#fff;color:var(--blue-dark)} .btn-outline{border:1px solid rgba(255,255,255,.55);color:#fff}
.btn:hover{transform:translateY(-2px)}

.logo-panel{background:#fff;border-radius:18px;padding:38px 42px;box-shadow:0 24px 60px rgba(0,0,0,.20);display:flex;align-items:center;justify-content:center;min-height:300px}
.logo-panel img{display:block;width:min(100%,560px);height:auto;max-height:270px;object-fit:contain}

section{padding:92px 24px} .container{max-width:1240px;margin:auto}
.section-head{max-width:780px;margin:0 auto 48px;text-align:center}
.label{color:var(--red);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:2px}
.section-head h2{color:var(--blue-deep);font-size:clamp(30px,4vw,44px);line-height:1.1;margin:8px 0 13px}
.section-head p{color:var(--gray);font-size:16px}

.services{background:var(--light)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:30px;box-shadow:0 4px 15px rgba(10,50,75,.03);transition:.2s}
.service-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(7,55,85,.09)}
.service-top{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px}
.service-icon{flex:0 0 50px;height:50px;border-radius:10px;display:grid;place-items:center;background:#e8f4fb;color:var(--blue);font-size:18px;font-weight:900;border-left:3px solid var(--red)}
.service-card h3{color:var(--blue-deep);font-size:20px;line-height:1.2}
.service-card p{color:#697983;font-size:14px}
.service-card ul{margin:18px 0 0 18px;color:#455965}
.service-card li{margin:8px 0;padding-left:4px} .service-card li::marker{color:var(--red)}
.service-wide{grid-column:1/-1;background:linear-gradient(110deg,#082f4b,#0a6bab);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:center}
.service-wide h3,.service-wide p,.service-wide ul{color:white}
.service-wide .service-icon{background:rgba(255,255,255,.12);color:white;border-color:var(--red)}
.service-wide li::marker{color:#ff6970}

.projects{background:#fff}
.gallery{display:grid;grid-template-columns:1.35fr .65fr .65fr;grid-auto-rows:220px;gap:16px}
.project{position:relative;overflow:hidden;border-radius:14px;background:linear-gradient(135deg,#dbeaf4,#eef4f7);border:1px solid var(--line);display:flex;align-items:flex-end;padding:24px}
.project:first-child{grid-row:span 2}
.project::before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 42%,rgba(8,105,177,.13) 42%,rgba(8,105,177,.13) 44%,transparent 44%),linear-gradient(25deg,transparent 55%,rgba(229,45,54,.11) 55%,rgba(229,45,54,.11) 57%,transparent 57%)}
.project-content{position:relative;z-index:2} .project small{color:var(--red);font-weight:900;letter-spacing:1px}
.project h3{color:var(--blue-deep);font-size:20px;margin-top:3px} .project p{font-size:13px;color:#61717b}
.gallery-note{text-align:center;color:#73818a;font-size:14px;margin-top:22px}

.about{background:var(--light)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.about h2{color:var(--blue-deep);font-size:40px;line-height:1.1;margin:8px 0 18px}
.about p{color:#61727d;margin-bottom:14px}
.about-box{background:#fff;border-radius:15px;border:1px solid var(--line);padding:32px;border-left:5px solid var(--red)}
.about-box h3{color:var(--blue-deep);font-size:23px;margin-bottom:12px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.check{font-weight:700;font-size:14px;color:#3c505c} .check::before{content:"✓";color:var(--red);margin-right:8px}

.contact{background:linear-gradient(115deg,#072f4b,#075e98);color:white}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;align-items:stretch}
.contact-copy h2{font-size:42px;line-height:1.1;margin:8px 0 16px;color:#fff}
.contact-copy>p{color:rgba(255,255,255,.82);max-width:520px}
.contact-list{margin-top:30px;display:grid;gap:15px} .contact-list strong{display:block;color:white}
.contact-list span,.contact-list a{color:rgba(255,255,255,.8);text-decoration:none}
.contact-form{background:#fff;color:var(--dark);border-radius:15px;padding:30px}
.contact-form h3{color:var(--blue-deep);font-size:24px;margin-bottom:18px}
form{display:grid;gap:13px}
input,textarea{width:100%;padding:13px 14px;border:1px solid #cedae1;border-radius:7px;font:inherit;outline:none}
input:focus,textarea:focus{border-color:var(--blue)} textarea{min-height:125px;resize:vertical}
button{border:0;background:var(--blue);color:white;border-radius:7px;padding:14px;font-weight:800;cursor:pointer;font-size:14px} button:hover{background:var(--blue-dark)}

footer{background:#061f32;color:#b9cbd6;padding:28px 24px}
.footer-inner{max-width:1240px;margin:auto;display:flex;justify-content:space-between;gap:20px;align-items:center}
.footer-brand{color:#fff;font-weight:900;letter-spacing:1px} .footer-small{font-size:12px;opacity:.75}
.whatsapp{position:fixed;right:22px;bottom:22px;z-index:999;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;text-decoration:none;font-size:25px;box-shadow:0 10px 25px rgba(0,0,0,.22)}

@media(max-width:980px){.hero-inner,.about-grid,.contact-grid,.service-wide{grid-template-columns:1fr}.logo-panel{max-width:680px;margin:auto}.service-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.nav{height:72px}.logo-nav{width:180px}nav a:not(.nav-cta){display:none}.hero{padding-top:115px}.hero h1{font-size:40px}.logo-panel{padding:22px;min-height:200px}.logo-panel img{max-height:190px}section{padding:70px 18px}.service-grid{grid-template-columns:1fr}.checks{grid-template-columns:1fr}.gallery{grid-template-columns:1fr;grid-auto-rows:210px}.project:first-child{grid-row:span 1}.footer-inner{flex-direction:column;align-items:flex-start}}

/* =========================================================
   V8 — PROYECTOS NAVEGABLES Y CONTACTO
   ========================================================= */
.project-link {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.project-link .project-more {
  display: inline-block;
  margin-top: 12px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
}
.project-link:hover {
  transform: translateY(-4px);
}
.project-link:hover img {
  transform: scale(1.04);
}
.project-link img {
  transition: transform .35s ease;
}
.contact-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.contact-btn {
  flex: 1 1 190px;
  border: 0;
  border-radius: 8px;
  padding: 13px 16px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.whatsapp-btn {
  background: #168b4b;
  color: #fff;
}
.email-btn {
  background: #0b4f86;
  color: #fff;
}
.contact-list a {
  color: inherit;
  text-decoration: none;
}
.contact-list a:hover {
  text-decoration: underline;
}
