
:root{--primary:#0d314d;--secondary:#1e6f9f;--accent:#c99a45;--ink:#17212b;--muted:#6b7280;--light:#f5f7fa;--dark:#081927;--white:#fff;--max:1180px;--shadow:0 18px 45px rgba(8,25,39,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.6;background:#fff}a,a:hover,a:focus{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.topbar{background:var(--dark);color:#dbe7ef;font-size:.88rem}.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:7px 0}.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 6px 24px rgba(0,0,0,.08)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:76px}.brand img{max-height:76px;width:auto;padding:6px 0}.menu{display:flex;gap:24px;align-items:center;font-weight:700;color:var(--primary)}.menu a{position:relative}.menu a:after{content:"";position:absolute;left:0;bottom:-8px;height:2px;width:0;background:var(--accent);transition:.25s}.menu a:hover:after,.menu a.active:after{width:100%}.nav-toggle{display:none;background:var(--primary);color:#fff;border:0;border-radius:10px;padding:10px 12px}.hero{position:relative;min-height:690px;overflow:hidden;color:#fff;background:#000}.slide{position:absolute;inset:0;opacity:0;animation:fade 18s infinite}.slide:nth-child(2){animation-delay:6s}.slide:nth-child(3){animation-delay:12s}.slide img{width:100%;height:100%;object-fit:cover;animation:ken 18s infinite;filter:brightness(.58)}.hero-content{position:relative;z-index:2;min-height:690px;display:flex;align-items:center}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:#f3cf88;font-weight:800;font-size:.8rem}.hero h1{font-size:clamp(2.4rem,6vw,5.4rem);line-height:1.02;margin:15px 0;max-width:860px}.hero p{font-size:1.25rem;max-width:720px;color:#e8eef4}.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 24px;font-weight:800;transition:.25s;border:1px solid transparent}.btn-primary{background:var(--accent);color:#17212b}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(201,154,69,.28)}.btn-outline{border-color:rgba(255,255,255,.55);color:#fff}.btn-outline:hover{background:#fff;color:var(--primary)}section{padding:86px 0}.section-title{max-width:780px;margin-bottom:34px}.section-title h2{font-size:clamp(2rem,4vw,3.1rem);line-height:1.1;margin:0 0 12px;color:var(--primary)}.section-title p{color:var(--muted);font-size:1.08rem}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}.card{background:#fff;border:1px solid #e7edf2;border-radius:24px;padding:28px;box-shadow:var(--shadow)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.stat{background:var(--light);border-radius:18px;padding:20px;border-left: 4px solid var(--accent);box-shadow: 0 10px 24px rgba(13, 23, 35, .06);}.stat strong{display:block;font-size:2rem;color:var(--primary)}.services{background:var(--light)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:#fff;border-radius:24px;padding:30px;border:1px solid #e7edf2;transition:.25s}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-card .icon{width:54px;height:54px;border-radius:16px;background:#e9f3f8;display:grid;place-items:center;margin-bottom:18px;color:var(--secondary);font-weight:900}.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.work{position:relative;min-height:220px;border-radius:22px;overflow:hidden;background:#000}.work img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:.5s}.work:hover img{transform:scale(1.08)}.work span{position:absolute;inset:auto 0 0 0;padding:40px 18px 18px;color:#fff;font-weight:900;background:linear-gradient(transparent,rgba(0,0,0,.78))}.cta{position:relative;background:url('../images/slideshow/construcao-obra.jpg') center/cover fixed;color:#fff}.cta:before,.page-hero:before{content:"";position:absolute;inset:0;background:rgba(8,25,39,.72)}.cta .container,.page-hero .container{position:relative;z-index:1}.cta-box{max-width:760px}.cta h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.1;margin:0 0 14px}.page-hero{position:relative;padding:130px 0 80px;background:url('../images/slideshow/construcao-obra.jpg') center/cover;color:#fff}.page-hero h1{font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.05;margin:0}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.list{padding-left:0;list-style:none}.list li{padding:10px 0 10px 28px;position:relative}.list li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:900}.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:30px}.contact-item{display:flex;gap:14px;margin:18px 0}.contact-item img,.footer-contact-item img{width:22px;height:22px;flex:0 0 22px}.contact-item small,.footer-contact-item small{display:block;color:#8193a4}.form{display:grid;gap:14px}.form input,.form textarea,.form select{width:100%;border:1px solid #d7e0e7;border-radius:14px;padding:13px;font:inherit}.form textarea{min-height:135px}.footer{background:var(--dark);color:#dbe7ef}.footer-main{display:grid;grid-template-columns:1.1fr .85fr 1.15fr 1fr;gap:28px;padding:62px 0}.footer-col{border-left:1px solid rgba(255,255,255,.12);padding-left:24px}.footer-col:first-child{border-left:0;padding-left:0}.footer h3{color:#fff;margin-top:0}.footer-logo{max-width:190px;filter:brightness(0) invert(1);margin-bottom:16px}.footer a{color:#dbe7ef}.footer a:hover{color:#f3cf88}.footer-nav{display:grid;gap:8px}.footer-contact-item{display:flex;gap:10px;align-items:flex-start;margin:0 0 13px}.footer-contact-item img{filter:brightness(0) invert(1)}.legal-img{max-width:110px;margin-top:10px}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);text-align:center;padding:18px 0;color:#cbd6df}.reveal{opacity:0;transform:translateY(22px);transition:.7s}.reveal.visible{opacity:1;transform:none}@keyframes fade{0%,30%{opacity:1}36%,94%{opacity:0}100%{opacity:1}}@keyframes ken{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}@media(max-width:900px){.topbar .container{flex-direction:column;gap:4px}.menu{display:none;position:absolute;left:20px;right:20px;top:76px;background:#fff;box-shadow:var(--shadow);border-radius:18px;padding:20px;flex-direction:column;align-items:flex-start}.menu.open{display:flex}.nav-toggle{display:block}.hero,.hero-content{min-height:600px}.intro-grid,.content-grid,.contact-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:1fr}.footer-col{border-left:0;border-top:1px solid rgba(255,255,255,.12);padding-left:0;padding-top:22px}.footer-col:first-child{border-top:0;padding-top:0}.cta{background-attachment:scroll}}@media(max-width:560px){.container{width:min(100% - 28px,var(--max))}.portfolio-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.hero h1{font-size:2.35rem}}


/* Galeria multinível do portefólio */
.portfolio-section{padding:46px 0;border-bottom:1px solid #e7edf2}.portfolio-section h2{font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.1;margin:0 0 8px;color:var(--primary)}.portfolio-section .muted{color:var(--muted);margin:0 0 16px}.subgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.gallery-strip button{border:0;padding:0;border-radius:18px;overflow:hidden;cursor:pointer;background:#e7edf2;box-shadow:0 10px 26px rgba(8,25,39,.10)}.gallery-strip img{height:160px;width:100%;object-fit:cover;transition:.35s}.gallery-strip button:hover img{transform:scale(1.06)}.portfolio-card{position:relative;border-radius:22px;overflow:hidden;min-height:280px;background:#d7e0e7;box-shadow:var(--shadow);display:block}.portfolio-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:.45s}.portfolio-card:hover img{transform:scale(1.06)}.portfolio-card span{position:absolute;inset:auto 18px 18px 18px;z-index:2;color:#fff;font-weight:900;font-size:1.08rem}.portfolio-card small{font-weight:600;opacity:.9}.portfolio-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,25,39,.82),transparent 62%)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:200;display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-height:84vh;max-width:88vw;border-radius:8px;box-shadow:0 20px 70px rgba(0,0,0,.45)}.lb-btn{position:absolute;background:rgba(255,255,255,.15);color:#fff;border:0;border-radius:999px;width:50px;height:50px;font-size:30px;cursor:pointer;z-index:2}.lb-btn:hover{background:rgba(255,255,255,.28)}.lb-close{top:22px;right:24px}.lb-prev{left:24px}.lb-next{right:24px}.lb-caption{position:absolute;bottom:18px;color:#fff;background:rgba(0,0,0,.35);padding:6px 12px;border-radius:999px}@media(max-width:900px){.subgrid{grid-template-columns:1fr}.gallery-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.gallery-strip{grid-template-columns:1fr}.gallery-strip img{height:220px}.lb-btn{width:44px;height:44px}.lb-prev{left:10px}.lb-next{right:10px}}


/* Ajustes importados de teamforce-website-other: secção institucional da home e corpo de Quem Somos */
.section.light{background:var(--light)}
.title{font-size:clamp(2rem,3.4vw,3.4rem);line-height:1.12;margin:8px 0 16px;color:var(--dark)}
.lead{font-size:1.12rem;color:var(--muted);max-width:820px}
.split{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}
.image-card{border-radius:24px;overflow:hidden;box-shadow:0 24px 50px rgba(8,25,39,.18)}
.image-card img{width:100%;height:430px;object-fit:cover;display:block}
.grid{display:grid;gap:28px}
.cols-3{grid-template-columns:repeat(3,1fr)}
.btn.alt{background:#fff;color:var(--primary);border-color:#fff}
.btn.alt:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.section.cta{background-image:linear-gradient(rgba(4,21,38,.78),rgba(4,21,38,.78)),url('../images/slideshow/slide-industria.jpg');background-attachment:fixed;background-size:cover;background-position:center;color:#fff;text-align:center}
.section.cta h2{font-size:clamp(2rem,4vw,3.5rem);margin:0 0 12px;color:#fff}
.section.cta p{max-width:820px;margin:0 auto 24px;color:#e6f3ff}
@media(max-width:900px){.split,.cols-3{grid-template-columns:1fr}.image-card img{height:320px}}


@media (max-width: 768px){
  footer,
  .footer,
  .footer-content,
  .footer-columns,
  .footer-bottom,
  .footer-info{
    text-align:center !important;
  }
  .footer .row,
  footer .row{
    justify-content:center !important;
  }
  .footer ul,
  footer ul{
    padding-left:0;
    list-style-position:inside;
  }
  .footer .social-links,
  footer .social-links{
    justify-content:center !important;
  }
}

/* Acabamento premium do rodapé em telemóveis */
@media (max-width: 768px){
  .footer-main{
    gap:0;
    padding:44px 0 34px;
    justify-items:center;
  }

  .footer-col{
    width:100%;
    max-width:380px;
    padding:26px 0 0;
    margin:0 auto;
    text-align:center;
  }

  .footer-col + .footer-col{
    margin-top:24px;
  }

  .footer h3{
    margin-bottom:14px;
  }

  .footer-logo,
  .legal-img{
    margin-left:auto;
    margin-right:auto;
  }

  .footer-nav{
    justify-items:center;
    gap:11px;
  }

  .footer-contact-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:9px;
    max-width:340px;
    margin:0 auto 12px;
    padding:14px 16px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:16px;
    background:rgba(255,255,255,.04);
  }

  .footer-contact-item img{
    margin:0 auto;
  }

  .footer-contact-item span{
    display:block;
    width:100%;
  }

  .footer-contact-item small{
    margin-top:4px;
  }

  .footer-bottom{
    padding:20px 14px;
  }

  .footer-bottom .container,
  .copyright{
    line-height:1.7;
  }
}
