
:root{--navy:#071d51;--blue:#1658f3;--btn:#0f3ba2;--ink:#2e2e2e;--mut:#5c5c5c;--bg:#e5e6e6;--card:#fff;--sky:#87a8f7}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:300;color:var(--ink);background:var(--bg);line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.card{background:var(--card);border-radius:22px;margin:16px auto;max-width:1180px;overflow:hidden}
.pad{padding:56px 48px}
h1,h2,h3{font-weight:300;line-height:1.15}
h2{font-size:clamp(28px,4vw,44px);margin-bottom:18px}
h3{font-size:clamp(22px,2.6vw,30px);margin-bottom:10px}
.eyebrow{font-size:14px;color:var(--mut);margin-bottom:10px;letter-spacing:.04em}
.num{font-size:14px;color:var(--mut)}
p{margin-bottom:12px;max-width:62ch}
.btn{display:inline-block;background:var(--btn);color:#fff;text-decoration:none;padding:12px 26px;border-radius:30px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:400}
.btn:hover{background:var(--blue)}
.btn.out{background:transparent;color:var(--btn);border:1px solid var(--btn)}
/* hero */
.hero{position:relative;border-radius:22px;overflow:hidden;margin:16px auto;max-width:1180px;background:var(--navy);min-height:360px}
.hero img{width:100%;height:100%;min-height:360px;object-fit:cover;object-position:right center}
.hero .tx{position:absolute;left:5%;top:34%;color:#fff;font-family:Roboto,'Helvetica Neue',sans-serif}
.hero .tx small{display:block;font-size:clamp(20px,3vw,32px);font-weight:300;color:#cfe8ff}
.hero .tx b{display:block;font-size:clamp(26px,4.4vw,52px);font-weight:700;color:#8fdcf8;letter-spacing:.01em}
.hero .logo{position:absolute;left:5%;top:9%;width:clamp(120px,17vw,210px)}
.hero .down{position:absolute;left:6%;bottom:9%;width:64px;height:64px;border:1px solid #fff;border-radius:50%;color:#fff;display:grid;place-items:center;text-decoration:none;font-size:28px}
/* esencia */
.esencia{display:grid;grid-template-columns:1fr 1.25fr;gap:24px;align-items:center}
.esencia img{width:100%}
.actions{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
/* areas */
.area{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center;padding:32px 48px}
.area img{width:100%;max-width:310px;border-radius:6px;margin-left:auto}
.foco{position:relative;color:#fff;border-radius:22px;overflow:hidden;margin:16px auto;max-width:1180px;min-height:280px;display:flex;align-items:flex-end}
.foco img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75}
.foco:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(7,29,81,.85))}
.foco div{position:relative;z-index:1;padding:36px 48px}
.foco p{color:#e7eefc}
/* soluciones */
.sol{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.sol img{border-radius:12px;width:100%}
.band{background:var(--navy);color:#fff}
.band .eyebrow,.band .num{color:var(--sky)}
/* servicios */
.serv{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 48px 56px}
.serv article{border-top:1px solid #d9d9d9;padding-top:18px}
.serv article p{font-size:15px}
/* proyectos */
.proy{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:0 48px 56px}
.proy a{text-decoration:none;display:block}
.proy img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:10px;transition:.3s}
.proy a:hover img{transform:translateY(-4px)}
.proy span{display:block;margin-top:8px;font-size:15px}
/* pagina interna */
.top{display:flex;justify-content:space-between;align-items:center;padding:20px 32px}
.top img{height:38px}
.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 48px 8px}
.meta div{border-top:1px solid #d9d9d9;padding-top:10px}
.meta small{display:block;color:var(--mut);font-size:13px}
.chips{display:flex;flex-wrap:wrap;gap:10px;padding:0 48px 32px}
.chips span{border:1px solid #cfcfcf;border-radius:30px;padding:6px 16px;font-size:14px}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 48px 56px}
.gal img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:10px}
.prom{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:36px 48px}
.prom:nth-child(even) img{order:2}
.prom img{width:100%;border-radius:12px;aspect-ratio:4/3;object-fit:cover}
/* pie */
footer{background:var(--blue);color:#fff;border-radius:22px;max-width:1180px;margin:16px auto;padding:40px 48px;display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:start}
footer img{width:130px}
footer nav a{display:block;color:#e9efff;text-decoration:none;font-size:15px;margin-bottom:6px}
footer .soc{display:flex;gap:10px;justify-content:flex-end;margin-bottom:14px}
footer .soc a{width:32px;height:32px;border-radius:50%;background:#fff;color:var(--blue);display:grid;place-items:center;font-size:13px;font-weight:700;text-decoration:none}
footer .mail{font-size:14px;color:#e9efff;text-align:right}
footer .copy{grid-column:1/-1;font-size:13px;color:#bcd0ff}
@media(max-width:820px){
 .pad,.area,.foco div,.prom{padding:32px 22px}
 .esencia,.area,.sol,.prom{grid-template-columns:1fr}
 .area img{margin:0}.serv{grid-template-columns:1fr;padding:0 22px 40px}
 .proy,.gal,.meta{grid-template-columns:1fr 1fr;padding:0 22px 32px}
 .chips{padding:0 22px 24px}footer{grid-template-columns:1fr;padding:32px 22px}
 footer .soc{justify-content:flex-start}footer .mail{text-align:left}
 .prom:nth-child(even) img{order:0}
 .hero{min-height:0;display:flex;flex-direction:column}
 .hero img.main{min-height:0;height:auto;object-position:center;order:2}
 .hero .logo{position:static;margin:22px 22px 0;order:0}
 .hero .tx{position:static;padding:14px 22px 18px;order:1}
 .hero .down{display:none}
}
