:root{--navy:#0e2c75;--sky:#2fa0e0;--ink:#16203a;--paper:#f6f8fb}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:#fff;color:var(--ink);font:17px/1.65 'Source Sans 3',system-ui,sans-serif}
img{display:block;max-width:100%}a{color:inherit}
h1,h2,h3{font-family:'Archivo',sans-serif;font-weight:800;line-height:1.08;color:var(--navy);letter-spacing:-.01em}
.top{position:sticky;top:0;z-index:10;background:#fff;box-shadow:0 1px 0 #0e2c7522}
.top .in{max-width:1080px;margin:auto;padding:8px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.top img{height:46px;width:auto}
.top nav{display:flex;gap:24px;font-weight:600}.top nav a{text-decoration:none}
.btn{display:inline-block;background:var(--navy);color:#fff;font-weight:700;text-decoration:none;padding:12px 22px;border-radius:6px}
.btn.s{background:var(--sky)}.btn.o{background:none;border:2px solid var(--navy);color:var(--navy)}
.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:560px}
.hero .t{padding:72px 6vw 72px max(20px,calc((100vw - 1080px)/2 + 20px));align-self:center}
.hero small{color:var(--sky);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:14px}
.hero h1{font-size:clamp(38px,6vw,68px);margin:12px 0 18px}
.hero p{max-width:480px;margin-bottom:26px;font-size:19px}
.hero .row{display:flex;gap:12px;flex-wrap:wrap}
.hero .p{background:url(images/tapas1.jpg) center/cover}
.wrap{max-width:1080px;margin:auto;padding:0 20px}
section{padding:80px 0}
h2{font-size:clamp(30px,4.6vw,44px);margin-bottom:16px}
.alt{background:var(--paper)}
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:30px}
.svc div{background:#fff;border-top:4px solid var(--sky);padding:24px;box-shadow:0 2px 14px #0e2c751a}
.svc h3{font-size:21px;margin-bottom:8px}
.svc p{font-size:16px}
.proj{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:30px}
.proj figure{grid-column:span 2}
.proj figure.w{grid-column:span 3}
.proj img{width:100%;aspect-ratio:4/3;object-fit:cover}
.proj figcaption{padding:10px 0;font-size:15.5px}
.proj figcaption b{display:block;font-family:'Archivo';color:var(--navy);font-size:18px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split img{width:100%;aspect-ratio:4/3;object-fit:cover}
.quote{font-size:21px;border-left:5px solid var(--sky);padding-left:20px;margin:18px 0;color:var(--ink)}
.contact{background:var(--navy);color:#fff}
.contact h2{color:#fff}
.contact .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.contact a{color:#fff}
.big{font-family:'Archivo';font-weight:800;font-size:clamp(26px,4vw,38px);text-decoration:none;display:block;line-height:1.3}
.contact .btn{background:#fff;color:var(--navy)}.contact .btn.o{background:none;border-color:#fff;color:#fff}
footer{background:#0a1f55;color:#aebbdc;text-align:center;font-size:13px;padding:22px}footer a{color:#aebbdc}
@media(max-width:820px){.hero{grid-template-columns:1fr}.hero .p{min-height:260px;order:-1}.hero .t{padding:40px 20px}.split,.contact .grid{grid-template-columns:1fr;gap:30px}.top nav{display:none}.proj figure,.proj figure.w{grid-column:span 6}section{padding:56px 0}}
