
:root{
 --navy:#06172b;--navy2:#0a2645;--blue:#1769e8;--blue2:#4c91ff;
 --ink:#102033;--muted:#627184;--light:#f4f7fb;--line:#dce4ed;
 --white:#fff;--radius:20px;--shadow:0 18px 50px rgba(6,23,43,.12)
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.6;background:#fff}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1160px,92%);margin:auto}
.topbar{background:#030d18;color:#aab9ca;font-size:11px;padding:7px 0}
.topbar .container{display:flex;justify-content:space-between;gap:18px}
.header{position:sticky;top:0;z-index:60;background:rgba(6,23,43,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.navbar{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center}
.brand-logo{height:62px;width:auto;display:block}
.footer-logo{height:82px;width:auto;display:block;margin-bottom:12px}
.nav{display:flex;align-items:center;gap:27px;color:#dce7f5;font-size:12px;font-weight:850}
.nav a{position:relative}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--blue);transition:.2s}
.nav a:hover::after,.nav a.active::after{right:0}
.nav a:hover,.nav a.active{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:10px;background:var(--blue);color:#fff;font-weight:850;font-size:12px;border:0;cursor:pointer;transition:.2s}
.btn:hover{background:#0759d5;transform:translateY(-2px)}
.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.35)}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:25px;cursor:pointer}

.hero{min-height:690px;display:flex;align-items:center;color:#fff;position:relative;overflow:hidden;background:
linear-gradient(90deg,rgba(3,14,28,.96) 0%,rgba(3,14,28,.84) 47%,rgba(3,14,28,.26) 100%),
url('https://images.pexels.com/photos/28929510/pexels-photo-28929510.jpeg?cs=srgb&dl=pexels-connor-lucock-259838-28929510.jpg&fm=jpg') center/cover no-repeat}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:170px;background:linear-gradient(transparent,rgba(6,23,43,.88))}
.hero-content{position:relative;z-index:2;max-width:820px}
.kicker{text-transform:uppercase;letter-spacing:.15em;color:#69a3ff;font-size:12px;font-weight:900;margin-bottom:14px}
h1{font-size:clamp(50px,6.5vw,84px);line-height:.96;letter-spacing:-.055em}
h1 span{color:#3d84ff}
.hero p{max-width:680px;font-size:18px;color:#d6e0eb;margin:25px 0 29px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;position:relative;z-index:3;margin-top:-65px;background:rgba(255,255,255,.13);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.hero-fact{background:rgba(6,23,43,.96);padding:23px;color:#fff}
.hero-fact b{display:block;font-size:14px;margin-bottom:5px}.hero-fact span{font-size:12px;color:#aebfd1}

section{padding:95px 0}
.section-head{max-width:780px;margin:0 auto 50px;text-align:center}
.section-head h2,.split h2,.page-hero h1{font-size:clamp(35px,4.7vw,56px);line-height:1.03;letter-spacing:-.045em}
.section-head p,.split p{color:var(--muted);margin-top:15px}
.rule{width:56px;height:4px;background:var(--blue);border-radius:99px;margin:20px 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#e8eef5}
.photo img{width:100%;height:100%;object-fit:cover}
.photo.tall{height:500px}
.photo.wide{height:370px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:28px}
.stat{padding-top:17px;border-top:1px solid var(--line)}
.stat strong{display:block;color:var(--blue);font-size:36px;line-height:1}.stat span{font-size:13px;color:var(--muted)}
.bg-light{background:var(--light)}
.bg-dark{background:var(--navy);color:#fff}
.bg-dark .section-head p,.bg-dark .split p{color:#b7c6d8}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:27px;min-height:215px;transition:.22s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.icon{width:46px;height:46px;border-radius:12px;background:#e9f2ff;color:var(--blue);display:grid;place-items:center;font-weight:900;margin-bottom:19px}
.card h3{font-size:18px;line-height:1.2;margin-bottom:9px}.card p{font-size:13px;color:var(--muted)}

.visual-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.visual-card{border-radius:18px;overflow:hidden;background:#0a233e;color:#fff;min-height:360px;position:relative}
.visual-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.visual-card::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(4,16,30,.92))}
.visual-card-body{position:absolute;left:22px;right:22px;bottom:22px;z-index:2}
.visual-card h3{font-size:20px;margin-bottom:6px}.visual-card p{font-size:13px;color:#d5e0eb}

.values{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.value{border:1px solid var(--line);background:#fff;border-radius:16px;padding:25px;text-align:center;font-weight:850}

.page-hero{padding:110px 0 80px;color:#fff;background-position:center;background-size:cover;position:relative}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,16,30,.95),rgba(4,16,30,.58))}
.page-hero .container{position:relative;z-index:2}
.page-hero p{max-width:730px;color:#c6d5e5;font-size:17px;margin-top:17px}
.about-hero{background-image:url('https://images.pexels.com/photos/29393030/pexels-photo-29393030.jpeg?cs=srgb&dl=pexels-claudio-meloni-2132761844-29393030.jpg&fm=jpg')}
.services-hero{background-image:url('https://images.pexels.com/photos/37517098/pexels-photo-37517098.jpeg?cs=srgb&dl=pexels-dogan-simsek-2160139073-37517098.jpg&fm=jpg')}
.projects-hero{background-image:linear-gradient(90deg,rgba(4,16,30,.96),rgba(4,16,30,.63)),url('https://images.pexels.com/photos/28752153/pexels-photo-28752153.jpeg?cs=srgb&dl=pexels-connor-lucock-259838-28752153.jpg&fm=jpg')}
.contact-hero{background-image:url('https://images.pexels.com/photos/28752153/pexels-photo-28752153.jpeg?cs=srgb&dl=pexels-connor-lucock-259838-28752153.jpg&fm=jpg')}

.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.project{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 26px rgba(6,23,43,.05)}
.project img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#f6f8fb}
.project-body{padding:20px}.project h3{font-size:19px;margin-bottom:6px}.project p{font-size:13px;color:var(--muted)}
.real-badge{display:inline-block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.11em;color:var(--blue);margin-bottom:8px}

.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}
.contact-list{display:grid;gap:15px;margin-top:25px}
.contact-list b{display:block}.contact-list span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
form{background:var(--light);border:1px solid var(--line);border-radius:18px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
input,textarea{width:100%;padding:14px;border:1px solid #d6dfe9;border-radius:10px;background:#fff;font:inherit;outline:none}
input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,232,.12)}
textarea{grid-column:1/-1;min-height:140px;resize:vertical}.form-btn{grid-column:1/-1}

.cta{padding:55px 0;background:linear-gradient(115deg,var(--blue),#0b4dac);color:#fff}
.cta .container{display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta h2{font-size:clamp(28px,4vw,45px);line-height:1.04}
.footer{background:#030d18;color:#9aabba;padding:43px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:38px}
.footer h4{color:#fff;margin-bottom:12px}.footer p,.footer a{font-size:13px}.footer a{display:block;margin:6px 0}
.copy{border-top:1px solid rgba(255,255,255,.08);margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;font-size:11px}

@media(max-width:920px){
 .nav{display:none}.menu-btn{display:block}
 .header.open .nav{display:flex;position:absolute;top:82px;left:0;right:0;background:var(--navy);padding:20px;flex-direction:column;align-items:flex-start}
 .split,.contact-grid{grid-template-columns:1fr}
 .cards,.visual-cards{grid-template-columns:1fr 1fr}
 .values{grid-template-columns:1fr 1fr}
 .hero-facts{grid-template-columns:1fr 1fr}
 .footer-grid{grid-template-columns:1fr 1fr}
 .cta .container{flex-direction:column;align-items:flex-start}
}
@media(max-width:620px){
 .topbar{display:none}.navbar{height:72px}.brand-logo{height:54px}
 .header.open .nav{top:72px}
 .hero{min-height:700px;background-position:62% center}.hero p{font-size:16px}
 section{padding:72px 0}
 .cards,.visual-cards,.values,.project-grid,form{grid-template-columns:1fr}
 textarea,.form-btn{grid-column:auto}
 .hero-facts{margin-top:-40px;grid-template-columns:1fr 1fr}
 .photo.tall{height:370px}.footer-grid{grid-template-columns:1fr}.copy{flex-direction:column}
}


/* Formulario de contacto: estados y protección anti-spam */
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{grid-column:1/-1;min-height:20px;font-size:13px;font-weight:700;margin-top:2px}
.form-status.success{color:#137a3b}
.form-status.error{color:#b42318}
.form-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}


/* Iconos de Visión, Misión y Experiencia */
.section-icon{
 width:24px;
 height:24px;
 fill:none;
 stroke:currentColor;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
}


