
:root{
  --blue:#073b9b;
  --blue-dark:#06152f;
  --blue-deep:#041027;
  --orange:#f28c00;
  --orange-dark:#d96f00;
  --white:#fff;
  --ink:#101828;
  --muted:#667085;
  --light:#f5f7fb;
  --line:#e6eaf0;
  --shadow:0 18px 50px rgba(4,16,39,.10);
  --radius:22px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(1180px,92%);margin:auto}
.topbar{background:var(--blue-deep);color:#dce7ff;font-size:.86rem}
.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:9px 0}
.topbar span{display:flex;gap:7px;align-items:center}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06)}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center}
.logo img{width:190px;height:auto}
.navlinks{display:flex;align-items:center;gap:4px;list-style:none}
.navlinks a{padding:11px 13px;border-radius:10px;font-size:.94rem;font-weight:650;color:#27364d}
.navlinks a:hover,.navlinks a.active{background:#edf3ff;color:var(--blue)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 20px;border-radius:12px;font-weight:750;border:1px solid transparent;transition:.25s}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 10px 24px rgba(242,140,0,.22)}
.btn-primary:hover{transform:translateY(-2px);background:var(--orange-dark)}
.btn-outline{border-color:rgba(255,255,255,.35);color:#fff}
.btn-light{background:#fff;color:var(--blue)}
.menu-btn{display:none;border:0;background:transparent;font-size:1.8rem;color:var(--blue)}
.hero{min-height:690px;display:flex;align-items:center;position:relative;background:linear-gradient(90deg,rgba(4,16,39,.92) 0%,rgba(4,16,39,.76) 45%,rgba(4,16,39,.30) 100%),url('../assets/img/hero-equipa-instalacao.jpg') center 40%/cover no-repeat}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:6px;background:linear-gradient(90deg,var(--orange),var(--blue))}
.hero-content{position:relative;z-index:1;color:#fff;max-width:760px;padding:80px 0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#ffd49a;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;margin-bottom:16px}
.eyebrow:before{content:"";width:34px;height:2px;background:var(--orange)}
.hero h1{font-size:clamp(2.8rem,6vw,5.1rem);line-height:1.02;letter-spacing:-.045em;margin-bottom:22px}
.hero h1 strong{color:#ff9d16}
.hero p{font-size:1.15rem;color:#e7edf8;max-width:680px;margin-bottom:30px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-meta{display:flex;gap:30px;flex-wrap:wrap;margin-top:42px;color:#dce7ff}
.hero-meta strong{display:block;color:#fff;font-size:1.1rem}.hero-meta small{font-size:.8rem;color:#aebbd1}
.section{padding:92px 0}
.section.alt{background:var(--light)}
.section-head{max-width:760px;margin-bottom:45px}
.kicker{color:var(--orange-dark);font-weight:850;text-transform:uppercase;font-size:.78rem;letter-spacing:.11em;margin-bottom:8px}
.section h2{font-size:clamp(2rem,4vw,3rem);line-height:1.1;color:var(--blue-deep);letter-spacing:-.035em}
.section-head p{color:var(--muted);margin-top:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.service-card{position:relative;overflow:hidden;min-height:235px}
.service-card .icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#edf3ff;color:var(--blue);font-size:1.35rem;margin-bottom:20px}
.service-card h3{color:var(--blue-deep);margin-bottom:8px}
.service-card p{color:var(--muted);font-size:.94rem}
.service-card:after{content:"";position:absolute;right:-35px;bottom:-40px;width:100px;height:100px;border-radius:50%;background:rgba(242,140,0,.09)}
.image-card{overflow:hidden;border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.image-card img{width:100%;height:280px;object-fit:cover}
.image-card .body{padding:22px}
.image-card h3{color:var(--blue-deep);margin-bottom:7px}.image-card p{color:var(--muted);font-size:.93rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}
.split img{width:100%;height:500px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}
.checks{display:grid;gap:14px;margin:25px 0}
.check{display:flex;gap:12px;align-items:flex-start}.check b{color:var(--blue)}.check span{color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:35px}
.stat{padding:24px;border-radius:18px;background:#fff;border:1px solid var(--line)}.stat strong{font-size:2rem;color:var(--blue)}.stat span{display:block;color:var(--muted);font-size:.86rem}
.project-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}
.project{position:relative;border-radius:22px;overflow:hidden;min-height:310px;background:#071631}
.project.large{min-height:640px}.project img{width:100%;height:100%;object-fit:cover;transition:.5s}.project:hover img{transform:scale(1.04)}
.project .overlay{position:absolute;inset:auto 0 0;padding:26px;color:#fff;background:linear-gradient(transparent,rgba(3,12,28,.92))}
.project .overlay span{color:#ffc06a;font-size:.76rem;font-weight:800;text-transform:uppercase}.project .overlay h3{font-size:1.25rem}
.badge{display:inline-block;background:#edf3ff;color:var(--blue);padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:800}
.cta{background:linear-gradient(115deg,var(--blue-deep),#0a45a7);color:#fff;border-radius:30px;padding:55px;position:relative;overflow:hidden}
.cta:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-90px;top:-120px}
.cta h2{color:#fff;max-width:720px}.cta p{color:#dce7ff;max-width:680px;margin:12px 0 25px}
.page-hero{padding:80px 0;background:linear-gradient(120deg,var(--blue-deep),#0c4ab0);color:#fff}.page-hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.05}.page-hero p{max-width:700px;color:#dbe6fb;margin-top:14px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery figure{margin:0;border-radius:18px;overflow:hidden;background:#eee;aspect-ratio:4/3}.gallery img{width:100%;height:100%;object-fit:cover;transition:.45s}.gallery figure:hover img{transform:scale(1.04)}
.team-card img{height:320px;object-fit:cover}.team-card .body{padding:22px}.team-card h3{color:var(--blue-deep)}.team-card p{color:var(--muted);font-size:.9rem}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px}.contact-list{display:grid;gap:14px;margin-top:25px}.contact-item{display:flex;gap:13px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}.contact-item b{color:var(--blue-deep)}.contact-item span{display:block;color:var(--muted);font-size:.9rem}
.form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:700;color:#344054;font-size:.88rem}.field input,.field select,.field textarea{width:100%;border:1px solid #d7dce5;border-radius:11px;padding:13px 14px;font:inherit;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(7,59,155,.1)}textarea{min-height:140px;resize:vertical}
footer{background:#030c1e;color:#b9c7dc;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:35px}.footer-logo{width:190px;background:#fff;border-radius:10px;padding:8px;margin-bottom:18px}.footer h3{color:#fff;font-size:1rem;margin-bottom:15px}.footer ul{list-style:none;display:grid;gap:8px}.footer a:hover{color:#fff}.footer p{font-size:.9rem}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:20px;font-size:.8rem;display:flex;justify-content:space-between;gap:20px}
.whatsapp{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;font-size:1.6rem;z-index:60;box-shadow:0 12px 28px rgba(0,0,0,.2)}
@media(max-width:1000px){.navlinks{position:absolute;left:0;right:0;top:78px;background:#fff;display:none;flex-direction:column;align-items:stretch;padding:15px;border-bottom:1px solid var(--line);box-shadow:0 20px 35px rgba(0,0,0,.08)}.navlinks.open{display:flex}.navlinks a{display:block}.menu-btn{display:block}.nav>.btn{display:none}.grid-4{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar .container{justify-content:center}.topbar span:last-child{display:none}.hero{min-height:650px}.hero-content{padding:65px 0}.hero h1{font-size:2.7rem}.section{padding:70px 0}.grid-3,.split,.contact-grid,.project-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:1fr 1fr}.project.large{min-height:390px}.split img{height:360px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.copyright{flex-direction:column}.cta{padding:35px 25px}}
@media(max-width:480px){.logo img{width:155px}.grid-4,.gallery{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.hero-meta{gap:16px}.hero h1{font-size:2.35rem}}
/* =====================================================
 