
:root{

  --green-950:#03110d;
  --green-900:#071d18;
  --green-800:#0d322a;
  --green-700:#146b58;
  --green-600:#18a17f;

  --accent:#1fd5aa;

  --text:#10211d;
  --muted:#667872;

  --line:#e4ece8;

  --bg:#f5f8f7;
  --card:#ffffff;

  --white:#ffffff;

  --shadow:
  0 10px 30px rgba(0,0,0,.04),
  0 20px 60px rgba(4,24,20,.08);

  --radius:24px;

  --max:1240px;
}

/* =========================
   RESET
========================= */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.7;
  overflow-x:hidden;
}

a{
  text-decoration:none;
  color:inherit;
}

img{
  width:100%;
  display:block;
}

/* =========================
   HEADER
========================= */

.header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  background:#fff;
  border-bottom:1px solid #e2e8f0;
  box-shadow:0 4px 18px rgba(15,23,42,.08);
}
.nav{
  width:min(var(--max),calc(100% - 40px));
  height:88px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.logo img{
  height:58px;
  width:auto;
}

.menu{
  display:flex;
  align-items:center;
  gap:34px;
}

.menu a{
  position:relative;
  color:var(--green-800);
  font-size:15px;
  font-weight:700;
  transition:.3s ease;
}


.menu a::after{
  content:"";

  position:absolute;

  left:0;
  bottom:-8px;

  width:0;
  height:2px;

  border-radius:20px;

  background:var(--accent);

  transition:.35s ease;
}

.menu a:hover{
  color:var(--green-700);
}

.menu a:hover::after{
  width:100%;
}

/* ACTIONS */

.nav-actions{
  display:flex;
  align-items:center;
  gap:16px;
}

.quote-btn{
  min-height:52px;

  padding:0 26px;

  border-radius:18px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  background:
  linear-gradient(
  135deg,
  var(--green-700),
  var(--accent)
  );

  color:#fff;

  font-size:14px;
  font-weight:800;

  box-shadow:
  0 14px 35px rgba(24,161,127,.25);

  transition:.35s ease;
}

.quote-btn:hover{
  transform:translateY(-4px);
}

/* MOBILE */

.menu-button{
  display:none;

  width:48px;
  height:48px;

  border:none;

  border-radius:16px;

  background:#fff;

  cursor:pointer;

  box-shadow:var(--shadow);
}

.menu-button span{
  display:block;

  width:22px;
  height:2px;

  margin:5px auto;

  background:var(--text);

  border-radius:10px;
}

/* =========================
   HERO
========================= */

.hero{
  position:relative;

  min-height:100vh;

  display:flex;
  align-items:center;

  overflow:hidden;
}

.hero-bg{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;
}

.hero-overlay{
  position:absolute;
  inset:0;

  background:
  linear-gradient(
  90deg,
  rgba(3,17,13,.88),
  rgba(3,17,13,.60),
  rgba(3,17,13,.30)
  );
}

.hero-content{
  position:relative;

  z-index:5;

  width:min(var(--max),calc(100% - 40px));

  margin:auto;
}

.hero-tag{
  display:inline-flex;

  margin-bottom:20px;

  padding:10px 18px;

  border-radius:999px;

  color:#fff;

  font-size:12px;
  font-weight:800;

  letter-spacing:2px;
  text-transform:uppercase;

  background:rgba(255,255,255,.08);

  border:1px solid rgba(255,255,255,.12);

  backdrop-filter:blur(10px);
}

.hero h1{
  max-width:760px;

  margin-bottom:24px;

  color:#fff;

  font-size:clamp(44px,7vw,62px);

  line-height:.95;

  letter-spacing:-4px;

  font-weight:800;
}

.hero-description{
  max-width:720px;

  color:rgba(255,255,255,.82);

  font-size:20px;

  margin-bottom:38px;
}

/* HERO BUTTONS */

.hero-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
}

.btn{
  min-height:58px;

  padding:0 30px;

  border:none;

  border-radius:18px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  font-size:15px;
  font-weight:800;

  cursor:pointer;

  transition:.35s ease;
}

.btn.primary{
  background:
  linear-gradient(
  135deg,
  var(--green-700),
  var(--accent)
  );

  color:#fff;

  box-shadow:
  0 14px 35px rgba(24,161,127,.25);
}

.btn.primary:hover{
  transform:translateY(-4px);
}

.btn.secondary{
  color:#fff;

  background:rgba(255,255,255,.10);

  border:1px solid rgba(255,255,255,.15);

  backdrop-filter:blur(10px);
}

.btn.secondary:hover{
  background:rgba(255,255,255,.18);
}

.btn.light{
  background:#fff;
  color:var(--green-900);
}

.btn.small{
  min-height:46px;
  padding:0 18px;
  border-radius:14px;
  font-size:14px;
}

/* HERO STATS */

.hero-stats{
  display:flex;
  gap:28px;

  margin-top:60px;

  flex-wrap:wrap;
}

.stat-item{
  min-width:220px;

  padding:22px;

  border-radius:22px;

  background:rgba(255,255,255,.08);

  border:1px solid rgba(255,255,255,.10);

  backdrop-filter:blur(12px);
}

.stat-item i{
  color:var(--accent);

  font-size:26px;

  margin-bottom:12px;
}

.stat-item strong{
  display:block;

  color:#fff;

  font-size:34px;
  font-weight:800;
}

.stat-item span{
  color:rgba(255,255,255,.75);

  font-size:14px;
}

/* =========================
   SECTION
========================= */

.section{
  width:min(var(--max),calc(100% - 40px));

  margin:auto;

  padding:110px 0;
}

.section-title{
  margin-bottom:55px;
}

.tag{
  margin-bottom:14px;

  color:var(--green-700);

  font-size:13px;
  font-weight:900;

  letter-spacing:2px;
  text-transform:uppercase;
}

h2{
  max-width:760px;
  font-size:clamp(34px,5vw,52px);
  line-height:1.05;
  letter-spacing:-2px;
}

h3{
  margin-bottom:12px;
  font-size:24px;
  line-height:1.2;
  align-items: center;
}

/* =========================
   ABOUT
========================= */

.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}

.about-text p{
  margin-bottom:20px;

  color:var(--muted);

  font-size:18px;
}

.about-cards{
  display:grid;
  gap:20px;
}

.about-card{
  padding:32px;

  background:#fff;

  border-radius:24px;

  border:1px solid var(--line);

  box-shadow:var(--shadow);
}

.about-icon{
  width:64px;
  height:64px;

  display:grid;
  place-items:center;

  margin-bottom:18px;

  border-radius:18px;

  background:
  linear-gradient(
  135deg,
  var(--green-700),
  var(--accent)
  );

  color:#fff;

  font-size:26px;
}

/* =========================
   SERVICES
========================= */

.service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.service-card{
  padding:34px;
  background:#fff;
  border-radius:26px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  transition:.4s ease;
}

.service-card:hover{
  transform:translateY(-10px);
}

.service-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:26px;
}

.service-icon{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:
  linear-gradient(
  135deg,
  var(--green-700),
  var(--accent)
  );

  color:#fff;
  font-size:28px;
}

.service-top span{
  color:var(--green-700);
  font-size:13px;
  font-weight:900;
  letter-spacing:2px;
  text-transform:uppercase;
}

.service-card p{
  color:var(--muted);
}

/* =========================
   SHOP
========================= */

.shop-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.product-card{
  overflow:hidden;

  background:#fff;

  border-radius:26px;

  border:1px solid var(--line);

  box-shadow:var(--shadow);

  transition:.4s ease;
}

.product-card:hover{
  transform:translateY(-10px);
}

.product-card img{
  height:260px;
  object-fit:cover;
}

.product-content{
  padding:28px;
}

.product-category{
  display:inline-flex;

  margin-bottom:14px;

  padding:8px 14px;

  border-radius:999px;

  background:#eef7f4;

  color:var(--green-700);

  font-size:12px;
  font-weight:800;
}

.product-content p{
  color:var(--muted);
}

.product-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;

  margin-top:24px;
}

.product-footer strong{
  font-size:22px;
}

/* =========================
   VALUES
========================= */

.values{
  width:100%;
  max-width:none;

  background:#fff;

  padding-left:max(20px,calc((100% - var(--max))/2));
  padding-right:max(20px,calc((100% - var(--max))/2));
}

.value-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}

.value-grid article{
  padding:34px;

  border-radius:26px;

  border:1px solid var(--line);

  box-shadow:var(--shadow);

  transition:.35s ease;
}

.value-grid article:hover{
  transform:translateY(-8px);
}

.value-icon{
  width:62px;
  height:62px;

  display:grid;
  place-items:center;

  margin-bottom:18px;

  border-radius:18px;

  background:
  linear-gradient(
  135deg,
  var(--green-700),
  var(--accent)
  );

  color:#fff;

  font-size:26px;
}

.value-grid p{
  color:var(--muted);
}

/* =========================
   CTA
========================= */

.cta{
  padding:90px 20px;

  background:
  linear-gradient(
  135deg,
  var(--green-950),
  var(--green-700)
  );

  color:#fff;
}

.cta-content{
  width:min(var(--max),100%);

  margin:auto;

  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:30px;
}

/* =========================
   CONTACT
========================= */

.modern-contact-form{
  max-width:950px;

  margin:auto;

  display:flex;
  flex-direction:column;
  gap:20px;
}

.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.modern-contact-form input,
.modern-contact-form select,
.modern-contact-form textarea{
  width:100%;

  padding:18px;

  border-radius:18px;

  border:1px solid #dce7e3;

  background:#fff;

  font-family:inherit;
  font-size:15px;

  transition:.3s ease;
}

.modern-contact-form input:focus,
.modern-contact-form select:focus,
.modern-contact-form textarea:focus{
  outline:none;

  border-color:var(--green-600);

  box-shadow:
  0 0 0 4px rgba(24,161,127,.12);
}

.contact-links{
  margin-top:40px;

  display:flex;
  justify-content:center;
  gap:20px;

  flex-wrap:wrap;
}

.contact-links a{
  min-height:58px;

  padding:0 22px;

  border-radius:18px;

  background:#fff;

  border:1px solid var(--line);

  display:flex;
  align-items:center;
  gap:12px;

  font-weight:700;

  box-shadow:var(--shadow);

  transition:.35s ease;
}

.contact-links a:hover{
  transform:translateY(-5px);
}

/* =========================
   FOOTER
========================= */

footer{
  position:relative;

  overflow:hidden;

  padding:90px 7% 30px;

  background:
  linear-gradient(
  135deg,
  #041814,
  #071d18,
  #0d322a
  );
}

footer::before{
  content:"";

  position:absolute;

  width:500px;
  height:500px;

  top:-250px;
  right:-150px;

  background:var(--green-600);

  opacity:.15;

  filter:blur(180px);
}

.footer-container{
  position:relative;
  z-index:5;

  display:grid;
  grid-template-columns:2fr 1fr 1fr 1.2fr;
  gap:60px;

  margin-bottom:60px;
}

.footer-about p{
  max-width:420px;
  margin:24px 0;
  color:#b7c6c1;
}

.footer-socials{
  display:flex;
  gap:14px;
}

.footer-socials a{
  width:50px;
  height:50px;

  border-radius:16px;

  background:rgba(255,255,255,.08);

  display:grid;
  place-items:center;

  color:#fff;

  font-size:18px;

  transition:.35s ease;
}

.footer-socials a:hover{
  transform:translateY(-5px);

  background:
  linear-gradient(
  135deg,
  var(--green-700),
  var(--accent)
  );
}

.footer-links h3,
.footer-contact h3{
  margin-bottom:22px;

  color:#fff;

  font-size:22px;
}

.footer-links ul{
  list-style:none;
}

.footer-links ul li{
  margin-bottom:16px;
}

.footer-links ul li a,
.footer-contact p{
  color:#b7c6c1;

  transition:.3s ease;
}

.footer-links ul li a:hover{
  color:var(--accent);
}

.footer-contact p{
  display:flex;
  align-items:center;
  gap:12px;

  margin-bottom:18px;
}

.footer-contact i{
  color:var(--accent);
}

.footer-bottom{
  position:relative;
  z-index:5;

  padding-top:30px;

  border-top:1px solid rgba(255,255,255,.08);

  display:flex;
  align-items:center;
  justify-content:space-between;

  flex-wrap:wrap;
  gap:20px;
}

.footer-bottom p{
  color:#b7c6c1;
}

.footer-bottom a{
  color:var(--accent);
}

/* =========================
   WHATSAPP FLOAT
========================= */

.whatsapp-float{
  position:fixed;

  right:24px;
  bottom:24px;

  width:64px;
  height:64px;

  border-radius:50%;

  display:grid;
  place-items:center;

  background:
  linear-gradient(
  135deg,
  #18a17f,
  #1fd5aa
  );

  color:#fff;

  font-size:30px;

  box-shadow:
  0 14px 40px rgba(24,161,127,.35);

  z-index:999;

  transition:.35s ease;
}

.whatsapp-float:hover{
  transform:translateY(-6px);
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:1100px){

  .service-grid,
  .shop-grid,
  .value-grid,
  .footer-container,
  .about-grid{
    grid-template-columns:1fr 1fr;
  }

}

@media(max-width:900px){

  .menu{
    display:none;
  }

  .menu-button{
    display:block;
  }

  .hero h1{
    font-size:58px;
  }

  .cta-content{
    flex-direction:column;
    align-items:flex-start;
  }

}

@media(max-width:768px){

  .service-grid,
  .shop-grid,
  .value-grid,
  .footer-container,
  .about-grid,
  .form-row{
    grid-template-columns:1fr;
  }

  .hero{
    min-height:auto;
    padding:180px 0 120px;
  }

  .hero h1{
    font-size:46px;
    line-height:1;
  }

  .hero-description{
    font-size:17px;
  }

  .hero-stats{
    gap:18px;
  }

  .stat-item{
    width:100%;
  }

  .contact-links{
    flex-direction:column;
  }

}

.about-hero{
    position:relative;

    min-height:75vh;

    background:
    linear-gradient(
        rgba(3,8,18,0.82),
        rgba(3,8,18,0.88)
    ),
    url('Imagens/about-banner.jpg');

    background-size:cover;
    background-position:center;

    display:flex;
    justify-content:center;
    align-items:center;

    text-align:center;

    padding:120px 7%;
}

.about-overlay{
    position:absolute;
    inset:0;

    background:
    radial-gradient(
        circle at top right,
        rgba(0,194,255,0.18),
        transparent 35%
    );
}

.about-hero-content{
    position:relative;
    z-index:2;

    max-width:900px;
}

.about-badge{
    display:inline-block;

    padding:12px 24px;

    border-radius:50px;

    background:rgba(255,255,255,0.08);

    border:1px solid rgba(255,255,255,0.08);

    margin-bottom:30px;

    color:#dce8f5;

    font-weight:600;
}

.about-hero-content h1{
    font-size:78px;

    line-height:1.08;

    margin-bottom:25px;
}

.about-hero-content p{
    color:#c4cfdd;

    font-size:18px;

    line-height:1.9;
}


/* =========================
   ABOUT SECTION
========================= */

.about-page-section{
    background:#ffffff;
    padding:120px 7%;
}

.about-page-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

.about-page-images{
    position:relative;
}

.about-main-image{
    border-radius:35px;
    height:650px;
    object-fit:cover;
}

.about-small-image{
    width:260px;

    position:absolute;

    right:-30px;
    bottom:-40px;

    border-radius:28px;

    border:6px solid #0b1728;
}

.section-mini-title{
    color:var(--green-600);

    letter-spacing:2px;

    font-weight:700;
}

.about-page-content h2{
    font-size:56px;

    line-height:1.15;

    margin:20px 0 30px;
}

.about-page-content p{
    color:var(--text);

    text-align:justify;

    line-height:1.9;

    margin-bottom:25px;

    font-size:17px;
}

.form-status{
  margin:12px 0 0;
  color:var(--green-700);
  font-size:14px;
}

.form-status.is-error{
  color:#d94d3f;
}

/* STATS */

.about-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:20px;

    margin-top:40px;
}

.about-stat-box{
    background:var(--green-800);

    padding:30px;

    border-radius:25px;

    text-align:center;

    transition:0.4s;
}

.about-stat-box:hover{
    transform:translateY(-8px);
}

.about-stat-box h3{
    font-size:42px;

    color:var(--line);

    margin-bottom:10px;
}

.about-stat-box span{
    color:#c4cfdd;
}
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');


.container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

/* SEÇÕES */

section{
    padding:100px 0;
}

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title h1,
.section-title h2{
    font-size:2.5rem;
    margin-bottom:10px;
}

.section-title p{
    color:#64748b;
}

/* VALORES */

.values{
    background:white;
}

.cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
}

.card{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:20px;
    padding:35px;
    text-align:center;
    transition:.3s;
}

.card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(37,99,235,.08);
}

.card i{
    font-size:2rem;
    color:#2563eb;
    margin-bottom:20px;
}

.card h3{
    margin-bottom:15px;
}

/* ESTATÍSTICAS */

.stats{
    background:#2563eb;
}

.stats .container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:30px;
}

.stat-box{
    color:white;
    text-align:center;
}

.stat-box h3{
    font-size:3rem;
}

.stat-box span{
    opacity:.9;
}

/* EQUIPE */

.team-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
}

.member{
    background:white;
    border-radius:20px;
    overflow:hidden;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
    transition:.3s;
}

.member:hover{
    transform:translateY(-6px);
}

.member img{
    width:100%;
    height:280px;
    object-fit:cover;
}

.member h3{
    margin-top:20px;
}

.member span{
    display:block;
    color:#2563eb;
    margin:10px 0 25px;
}

/* FOOTER */

footer{
    background:white;
    border-top:1px solid #e2e8f0;
    text-align:center;
    padding:25px;
    color:#64748b;
}

@media(max-width:768px){

    .hero h1{
        font-size:2.7rem;
    }

    .about-grid{
        grid-template-columns:1fr;
    }
}

/* =========================
   AJUSTES RESPONSIVOS GERAIS
========================= */
@media (max-width:900px){
  .nav{width:calc(100% - 32px);height:76px}
  .quote-btn{display:none}
  .menu{
    position:absolute;top:76px;left:0;width:100%;padding:20px max(16px, calc((100% - var(--max)) / 2));
    flex-direction:column;align-items:stretch;gap:4px;background:#fff;
    border-top:1px solid #e2e8f0;box-shadow:0 16px 28px rgba(0,0,0,.12)
  }
  .menu.active{display:flex}
  .menu a{padding:10px 0}
  .about-hero,.shop-hero,.contacto-hero,.cotacao-hero{padding-top:140px}
  .about-hero-content h1{font-size:clamp(42px,7vw,60px)}
  .about-stats,.mission-grid,.shop-beneficios .container,.stats .container{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:768px){
  .menu{top:75px;padding:16px}
  .about-hero,.shop-hero,.contacto-hero,.cotacao-hero,.servicos{padding-top:115px}
  .about-hero{min-height:unset;padding-bottom:80px}
  .about-hero-content h1,.about-page-content h2{font-size:clamp(32px,10vw,42px)}
  .about-stats,.mission-grid,.shop-beneficios .container,.stats .container{grid-template-columns:1fr}
  .shop-footer{align-items:flex-start;flex-direction:column;gap:14px}
  .shop-btn{width:100%;justify-content:center}
  .info-box,.step{gap:12px}
  .map-iframe{height:320px;border-radius:16px}
  .rodape-contacto p{overflow-wrap:anywhere}
}

@media (max-width:480px){
  .container{width:calc(100% - 32px)}
  .about-page-section,.sobre,.servicos,.processo,.shop-produtos,.shop-beneficios,.contacto-section,.cotacao-section{padding-block:64px}
  .contacto-form,.cotacao-form,.contacto-info,.cotacao-info{padding:20px}
  .map-iframe{height:250px}
}
.section-badge{
    display:inline-block;
    padding:8px 18px;
    background:rgba(31,213,170,.12);
    color:var(--green-700);
    border-radius:999px;
    font-size:.85rem;
    font-weight:700;
    letter-spacing:.08em;
    margin-bottom:1rem;
}

.about{
    padding:7rem 0;
    background:var(--white);
}

.about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5rem;
    align-items:center;
}

.about-image img{
    width:100%;
    border-radius:24px;
    box-shadow:0 30px 60px rgba(0,0,0,.08);
}

.about-item{
    display:flex;
    gap:1.25rem;
    margin-bottom:2rem;
}

.about-item i{
    font-size:2rem;
    color:var(--accent);
}

.about-item h3{
    margin-bottom:.5rem;
    color:var(--green-900);
}

.about-item p{
    color:var(--muted);
}

.mission{
    padding:7rem 0;
    background:var(--bg);
}

.mission-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2rem;
}

.mission-card{
    background:var(--white);
    padding:2.5rem;
    border-radius:24px;
    text-align:center;
    border:1px solid var(--line);
    transition:.35s;
}

.mission-card:hover{
    transform:translateY(-8px);
}

.mission-card i{
    font-size:2.5rem;
    color:var(--accent);
    margin-bottom:1rem;
}

.stats{
    background:linear-gradient(
        135deg,
        var(--green-800),
        var(--green-700)
    );
    color:white;
    padding:5rem 0;
}

.stats .container{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:2rem;
}

.stat-box{
    text-align:center;
}

.stat-box i{
    font-size:2.2rem;
    color:var(--accent);
    margin-bottom:1rem;
}

.stat-box h3{
    font-size:2.5rem;
    font-weight:800;
}

.stat-box span{
    opacity:.9;
}
/* =========================
   SOBRE
========================= */

.sobre{
    padding:120px 0;
    background:var(--white);
    position:relative;
}

.sobre::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:120px;
    background:linear-gradient(
        to bottom,
        var(--bg),
        transparent
    );
}

.sobre-badge{
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    padding:10px 20px;
    border-radius:999px;
    background:rgba(31,213,170,.12);
    color:var(--green-700);
    font-size:.85rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:1.5rem;
}

.sobre-badge i{
    font-size:1rem;
}

.sobre-grid{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:5rem;
    align-items:center;
}

.sobre-image{
    position:relative;
}

.sobre-image img{
    width:100%;
    display:block;
    border-radius:28px;
    object-fit:cover;

    box-shadow:
        0 20px 50px rgba(0,0,0,.08),
        0 5px 15px rgba(0,0,0,.04);
}

.sobre-image::after{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    border-radius:50%;
    background:rgba(31,213,170,.15);
    right:-40px;
    bottom:-40px;
    z-index:-1;
}

.sobre-content{
    display:flex;
    flex-direction:column;
    gap:2rem;
}

.sobre-item{
    display:flex;
    gap:1.5rem;
    padding:1.5rem;
    background:var(--card);
    border:1px solid var(--line);
    border-radius:22px;
    transition:.35s ease;
}

.sobre-item:hover{
    transform:translateY(-6px);
    border-color:rgba(31,213,170,.35);

    box-shadow:
        0 15px 40px rgba(20,107,88,.08);
}

.sobre-item i{
    width:65px;
    height:65px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    border-radius:18px;

    background:linear-gradient(
        135deg,
        var(--green-700),
        var(--accent)
    );

    color:var(--white);
    font-size:1.7rem;
}

.sobre-item h3{
    color:var(--green-900);
    font-size:1.2rem;
    font-weight:700;
    margin-bottom:.6rem;
    align-items: center;
}

.sobre-item p{
    color:var(--muted);
    line-height:1.8;
}

/* RESPONSIVO */

@media (max-width:991px){

    .sobre{
        padding:90px 0;
    }

    .sobre-grid{
        grid-template-columns:1fr;
        gap:3rem;
    }

}

@media (max-width:576px){

    .sobre-item{
        flex-direction:column;
        align-items:center;
        text-align:center;
    }

    .sobre-item i{
        width:60px;
        height:60px;
    }

}

/* =========================
   RODAPÉ
========================= */

.rodape{
    background:var(--green-950);
    color:rgba(255,255,255,.85);
    padding-top:80px;
}

.rodape-container{
    width:min(1200px,90%);
    margin:auto;

    display:grid;
    grid-template-columns:
        1.5fr
        1fr
        1fr
        1.2fr;

    gap:3rem;
}

.rodape-logo{
    width:180px;
    margin-bottom:1.5rem;
}

.rodape-about p{
    line-height:1.8;
    color:rgba(255,255,255,.7);
}

.rodape-links h3,
.rodape-contacto h3{
    color:var(--white);
    margin-bottom:1.5rem;
    font-size:1.1rem;
}

.rodape-links ul{
    list-style:none;
}

.rodape-links li{
    margin-bottom:.9rem;
}

.rodape-links a{
    color:rgba(255,255,255,.7);
    text-decoration:none;
    transition:.3s;
}

.rodape-links a:hover{
    color:var(--accent);
}

.rodape-contacto p{
    display:flex;
    align-items:flex-start;
    gap:.75rem;
    margin-bottom:1rem;
    color:rgba(255,255,255,.7);
}

.rodape-contacto i{
    color:var(--accent);
    font-size:1.1rem;
}

/* SOCIAIS */

.rodape-socials{
    display:flex;
    gap:1rem;
    margin-top:2rem;
}

.rodape-socials a{
    width:45px;
    height:45px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:12px;

    text-decoration:none;

    background:rgba(255,255,255,.08);

    color:var(--white);

    transition:.3s;
}

.rodape-socials a:hover{
    background:var(--accent);
    color:var(--green-950);
    transform:translateY(-4px);
}

.rodape-socials i{
    font-size:1.2rem;
}

/* BOTTOM */

.rodape-bottom{
    margin-top:60px;
    padding:25px 0;

    border-top:1px solid rgba(255,255,255,.08);

    display:flex;
    align-items:center;
    justify-content:space-between;

    width:min(1200px,90%);
    margin-left:auto;
    margin-right:auto;
}

.rodape-bottom p{
    color:rgba(255,255,255,.6);
}

.rodape-bottom a{
    color:var(--accent);
    text-decoration:none;
    font-weight:600;
}

/* RESPONSIVO */

@media (max-width:991px){

    .rodape-container{
        grid-template-columns:1fr 1fr;
    }

}

@media (max-width:768px){

    .rodape-container{
        grid-template-columns:1fr;
        text-align:center;
    }

    .rodape-socials{
        justify-content:center;
    }

    .rodape-contacto p{
        justify-content:center;
    }

    .rodape-bottom{
        flex-direction:column;
        gap:.75rem;
        text-align:center;
    }

}
/* =========================
   SERVIÇOS
========================= */

.servicos{
    padding:120px 0;
    background:var(--bg);
}

.servicos-header{
    max-width:850px;
    margin:0 auto 80px;
    text-align:center;
}

.servicos-badge{
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    padding:10px 20px;
    border-radius:999px;
    background:rgba(31,213,170,.12);
    color:var(--green-700);
    font-weight:700;
    margin-bottom:1.5rem;
}

.servicos-header h1{
    font-size:clamp(2.2rem,5vw,4rem);
    color:var(--green-900);
    margin-bottom:1rem;
}

.servicos-header p{
    color:var(--muted);
    line-height:1.8;
}

.servicos-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:2rem;
}

.servico-card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:24px;
    padding:2rem;
    transition:.35s;
}

.servico-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.servico-icon{
    width:70px;
    height:70px;
    border-radius:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:linear-gradient(
        135deg,
        var(--green-700),
        var(--accent)
    );

    color:white;
    font-size:1.8rem;

    margin-bottom:1.5rem;
}

.servico-card h3{
    color:var(--green-900);
    margin-bottom:1rem;
}

.servico-card p{
    color:var(--muted);
    margin-bottom:1.5rem;
}

.servico-card ul{
    list-style:none;
}

.servico-card li{
    padding:.7rem 0;
    border-bottom:1px solid var(--line);
    color:var(--text);
}

/* =========================
   PROCESSO
========================= */

.processo{
    padding:120px 0;
    background:var(--white);
}

.processo-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:2rem;
}

.passo{
    text-align:center;
}

.passo span{
    width:70px;
    height:70px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:auto auto 1rem;

    border-radius:50%;

    background:var(--accent);

    color:var(--green-950);
    font-weight:800;
}

.passo h3{
    margin-bottom:.8rem;
}

/* =========================
   CTA
========================= */

.servicos-cta{
    padding:100px 0;
    text-align:center;

    background:linear-gradient(
        135deg,
        var(--green-800),
        var(--green-700)
    );

    color:white;
}

.servicos-cta h2{
    font-size:clamp(2rem,4vw,3rem);
    margin-bottom:1rem;
}

.servicos-cta p{
    margin-bottom:2rem;
}

.cta-btn{
    display:inline-block;
    padding:16px 32px;
    border-radius:999px;
    text-decoration:none;

    background:white;
    color:var(--green-800);
    font-weight:700;
}

/* RESPONSIVO */

@media(max-width:991px){

    .processo-grid{
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:768px){

    .processo-grid{
        grid-template-columns:1fr;
    }

}

.shop-hero{
  padding:120px 0 80px;
  text-align:center;
  background:#f5f8f7;
}

.shop-badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:10px 20px;
  border-radius:999px;
  background:rgba(31,213,170,.12);
  color:#146b58;
  font-weight:700;
  margin-bottom:1.5rem;
}

.shop-hero h1{
  font-size:clamp(2.2rem,5vw,3.5rem);
  color:#071d18;
  max-width:900px;
  margin:auto;
}

.shop-hero p{
  margin-top:1rem;
  color:#667872;
  max-width:700px;
  margin-inline:auto;
  line-height:1.7;
}

/* =========================
   CATEGORIAS
========================= */

.shop-categorias{
  padding:20px 0 60px;
}

.shop-categorias .container{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:1rem;
}

.categoria{
  padding:10px 18px;
  border-radius:999px;
  border:1px solid #e4ece8;
  background:#fff;
  cursor:pointer;
  font-weight:600;
  transition:.3s;
}

.categoria.active{
  background:#146b58;
  color:#fff;
}

/* =========================
   PRODUTOS
========================= */

.shop-produtos{
  padding-bottom:120px;
}

.shop-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:2rem;
}

.shop-card{
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  border:1px solid #e4ece8;
  transition:.35s;
}

.shop-card:hover{
  transform:translateY(-8px);
  box-shadow:0 25px 50px rgba(0,0,0,.08);
}

.shop-image{
  height:260px;
  overflow:hidden;
}

.shop-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.4s;
}

.shop-card:hover img{
  transform:scale(1.08);
}

.shop-content{
  padding:1.5rem;
}

.shop-category{
  color:#146b58;
  font-size:.8rem;
  font-weight:700;
  text-transform:uppercase;
}

.shop-content h3{
  margin:.8rem 0;
  color:#071d18;
}

.shop-content p{
  color:#667872;
  line-height:1.6;
}

.shop-footer{
  margin-top:1.2rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.shop-footer strong{
  color:#071d18;
  font-size:1.2rem;
}

.shop-btn{
  display:flex;
  align-items:center;
  gap:.5rem;
  background:#146b58;
  color:#fff;
  padding:10px 14px;
  border-radius:10px;
  text-decoration:none;
  font-weight:600;
  transition:.3s;
}

.shop-btn:hover{
  background:#0d322a;
}

/* =========================
   BENEFÍCIOS
========================= */

.shop-beneficios{
  padding:100px 0;
  background:#fff;
}

.shop-beneficios .container{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem;
  text-align:center;
}

.beneficio i{
  font-size:2.5rem;
  color:#18a17f;
  margin-bottom:1rem;
}

.beneficio h3{
  margin-bottom:.5rem;
  color:#071d18;
}

.beneficio p{
  color:#667872;
  line-height:1.6;
}

/* =========================
   RESPONSIVO
========================= */

@media(max-width:768px){

  .shop-beneficios .container{
    grid-template-columns:1fr;
  }
}
.contacto-hero{
  padding:120px 0 60px;
  text-align:center;
}

.contacto-badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:10px 20px;
  border-radius:999px;
  background:rgba(31,213,170,.12);
  color:#146b58;
  font-weight:700;
  margin-bottom:1.5rem;
}

.contacto-hero h1{
  font-size:clamp(2.2rem,5vw,3.5rem);
  color:#071d18;
}

.contacto-hero p{
  margin-top:1rem;
  color:#667872;
  max-width:600px;
  margin-inline:auto;
}

/* =========================
   SECTION
========================= */

.contacto-section{
  padding:80px 0;
}

.contacto-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:3rem;
}

/* =========================
   FORM
========================= */

.contacto-form{
  background:#fff;
  padding:2rem;
  border-radius:22px;
  border:1px solid #e4ece8;
}

.contacto-form h2{
  margin-bottom:1.5rem;
  color:#071d18;
}

.input-group{
  margin-bottom:1.2rem;
}

.input-group label{
  display:block;
  margin-bottom:.5rem;
  font-weight:600;
}

.input-group input,
.input-group textarea{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid #e4ece8;
  outline:none;
  transition:.3s;
}

.input-group input:focus,
.input-group textarea:focus{
  border-color:#18a17f;
}

/* BUTTON */

.contacto-btn{
  width:100%;
  padding:14px;
  background:#146b58;
  color:#fff;
  border:none;
  border-radius:12px;
  font-weight:700;
  cursor:pointer;
  transition:.3s;
}

.contacto-btn:hover{
  background:#0d322a;
}

/* =========================
   INFO
========================= */

.contacto-info{
  padding:2rem;
  background:#fff;
  border-radius:22px;
  border:1px solid #e4ece8;
}

.contacto-info h2{
  margin-bottom:1.5rem;
}

.info-box{
  display:flex;
  gap:1rem;
  margin-bottom:1.5rem;
}

.info-box i{
  font-size:1.5rem;
  color:#18a17f;
}

.info-box h3{
  font-size:1rem;
  margin-bottom:.3rem;
}

.info-box p{
  color:#667872;
}

/* SOCIAL */

.contacto-socials{
  display:flex;
  gap:1rem;
  margin-top:2rem;
}

.contacto-socials a{
  width:45px;
  height:45px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#f5f8f7;
  color:#146b58;
  transition:.3s;
}

.contacto-socials a:hover{
  background:#146b58;
  color:#fff;
}

/* =========================
   MAPA / CTA
========================= */

/* =========================
   MAPA
========================= */

.contacto-map{
  padding:80px 0;
  background:#f5f8f7;
}

.map-header{
  text-align:center;
  margin-bottom:2.5rem;
}

.map-header h2{
  color:#071d18;
  margin-bottom:.5rem;
}

.map-header p{
  color:#667872;
  max-width:600px;
  margin-inline:auto;
}

.map-btn{
  display:inline-block;
  margin-top:1.2rem;
  padding:12px 20px;
  background:#146b58;
  color:#fff;
  text-decoration:none;
  border-radius:999px;
  font-weight:600;
  transition:.3s;
}

.map-btn:hover{
  background:#0d322a;
}

/* IFRAME */

.map-iframe{
  width:100%;
  height:450px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid #e4ece8;
  box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.map-iframe iframe{
  width:100%;
  height:100%;
  border:0;
}
.cotacao-hero{
  padding:120px 0 60px;
  text-align:center;
}

.cotacao-badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:10px 20px;
  border-radius:999px;
  background:rgba(31,213,170,.12);
  color:#146b58;
  font-weight:700;
  margin-bottom:1.5rem;
}

.cotacao-hero h1{
  font-size:clamp(2.2rem,5vw,3.5rem);
  color:#071d18;
}

.cotacao-hero p{
  margin-top:1rem;
  color:#667872;
  max-width:650px;
  margin-inline:auto;
}

/* =========================
   GRID
========================= */

.cotacao-section{
  padding:80px 0;
}

.cotacao-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:3rem;
}

/* =========================
   FORM
========================= */

.cotacao-form{
  background:#fff;
  padding:2rem;
  border-radius:22px;
  border:1px solid #e4ece8;
}

.cotacao-form h2{
  margin-bottom:1.5rem;
  color:#071d18;
}

.grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}

.input{
  margin-bottom:1.2rem;
}

.input label{
  display:block;
  margin-bottom:.5rem;
  font-weight:600;
}

.input input,
.input textarea,
.input select{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid #e4ece8;
  outline:none;
}

.input input:focus,
.input textarea:focus,
.input select:focus{
  border-color:#18a17f;
}

/* BUTTONS */

.cotacao-btn{
  width:100%;
  padding:14px;
  background:#146b58;
  color:#fff;
  border:none;
  border-radius:12px;
  font-weight:700;
  cursor:pointer;
  margin-top:1rem;
  transition:.3s;
}

.cotacao-btn:hover{
  background:#0d322a;
}

.cotacao-whatsapp{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  margin-top:1rem;
  padding:12px;
  border-radius:12px;
  background:#25D366;
  color:#fff;
  text-decoration:none;
  font-weight:700;
}

/* =========================
   INFO
========================= */

.cotacao-info{
  background:#fff;
  padding:2rem;
  border-radius:22px;
  border:1px solid #e4ece8;
}

.cotacao-info h2{
  margin-bottom:1.5rem;
}

.step{
  display:flex;
  gap:1rem;
  margin-bottom:1.5rem;
  align-items:flex-start;
}

.step span{
  width:35px;
  height:35px;
  border-radius:50%;
  background:#146b58;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}

/* =========================
   RESPONSIVO
========================= */

@media(max-width:900px){

  .cotacao-grid{
    grid-template-columns:1fr;
  }

  .grid-2{
    grid-template-columns:1fr;
  }

}

/* =========================================
   RESPONSIVIDADE GLOBAL
========================================= */

/* TABLETS */
@media (max-width: 1024px){

  .nav{
    width: calc(100% - 30px);
  }

  .hero h1{
    font-size: 48px;
    line-height: 1.1;
  }

  .hero-description{
    font-size: 18px;
  }

  .about-grid,
  .about-page-grid,
  .sobre-grid,
  .contacto-grid,
  .cotacao-grid,
  .footer-container,
  .rodape-container{
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .service-grid,
  .shop-grid,
  .value-grid,
  .processo-grid{
    grid-template-columns: repeat(2,1fr);
  }

  .cta-content{
    flex-direction: column;
    align-items: flex-start;
  }

  .about-main-image{
    height: 500px;
  }

  .about-small-image{
    width: 200px;
    right: 0;
    bottom: -20px;
  }

}


/* MOBILE */
@media (max-width: 768px){

  /* HEADER */
  .menu{
    display: none;
  }

  .menu-button{
    display: block;
  }

  .quote-btn{
    display: none;
  }

  .nav{
    height: 75px;
  }

  .logo img{
    height: 48px;
  }

  /* HERO */
  .hero{
    min-height: auto;
    padding: 140px 0 80px;
  }

  .hero-content{
    width: calc(100% - 30px);
  }

  .hero h1{
    font-size: 36px;
    letter-spacing: -2px;
  }

  .hero-description{
    font-size: 16px;
  }

  .hero-buttons{
    flex-direction: column;
    align-items: stretch;
  }

  .btn{
    width: 100%;
  }

  .hero-stats{
    flex-direction: column;
  }

  .stat-item{
    width: 100%;
    min-width: auto;
  }

  /* GRIDS */
  .service-grid,
  .shop-grid,
  .value-grid,
  .processo-grid,
  .mission-grid,
  .about-stats,
  .shop-beneficios .container,
  .stats .container{
    grid-template-columns: 1fr;
  }

  /* SECTION */
  .section{
    width: calc(100% - 30px);
    padding: 80px 0;
  }

  h2{
    font-size: 32px !important;
    line-height: 1.2;
  }

  h3{
    font-size: 22px;
  }

  p{
    font-size: 15px;
  }

  /* ABOUT */
  .about-page-content h2{
    font-size: 38px;
  }

  .about-main-image{
    height: 380px;
  }

  .about-small-image{
    display: none;
  }

  /* CARDS */
  .service-card,
  .product-card,
  .value-grid article,
  .servico-card,
  .mission-card{
    padding: 24px;
  }

  /* FORMS */
  .form-row,
  .grid-2{
    grid-template-columns: 1fr;
  }

  .modern-contact-form,
  .contacto-form,
  .cotacao-form{
    padding: 1.5rem;
  }

  /* CONTACT LINKS */
  .contact-links{
    flex-direction: column;
  }

  .contact-links a{
    width: 100%;
    justify-content: center;
  }

  /* FOOTER */
  .footer-container,
  .rodape-container{
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer-socials,
  .rodape-socials{
    justify-content: center;
  }

  .footer-bottom,
  .rodape-bottom{
    flex-direction: column;
    text-align: center;
  }

  /* WHATSAPP */
  .whatsapp-float{
    width: 55px;
    height: 55px;
    font-size: 24px;
    right: 18px;
    bottom: 18px;
  }

}


/* EXTRA SMALL DEVICES */
@media (max-width: 480px){

  .hero h1{
    font-size: 30px;
  }

  .hero-description{
    font-size: 15px;
  }

  h2{
    font-size: 28px !important;
  }

  .btn{
    min-height: 52px;
    font-size: 14px;
  }

  .section{
    padding: 70px 0;
  }

  .service-card,
  .product-content,
  .servico-card{
    padding: 20px;
  }

  .shop-image{
    height: 220px;
  }

  .about-main-image{
    height: 300px;
  }

}
/* =========================
   MOBILE MENU
========================= */

@media(max-width:768px){

  .menu{
    position:absolute;

    top:88px;
    left:0;

    width:100%;

    padding:25px;

    background:var(--green-800);

    flex-direction:column;
    align-items:flex-start;

    gap:20px;

    border-top:1px solid rgba(255,255,255,.08);

    display:none;
  }

  .menu.active{
    display:flex;
  }

  .menu a{
    width:100%;
    padding:12px 0;
    font-size:16px;
  }

}

/* Final responsive overrides: kept last so they apply consistently to every page. */
@media (max-width:900px){
  .nav{width:calc(100% - 32px);height:76px}
  .quote-btn{display:none}
  .menu{
    position:absolute;top:76px;left:0;width:100%;padding:20px max(16px, calc((100% - var(--max)) / 2));
    flex-direction:column;align-items:stretch;gap:4px;background:#fff;
    border-top:1px solid #e2e8f0;box-shadow:0 16px 28px rgba(0,0,0,.12)
  }
  .menu.active{display:flex}
  .menu a{padding:10px 0}
  .about-hero,.shop-hero,.contacto-hero,.cotacao-hero{padding-top:140px}
  .about-hero-content h1{font-size:clamp(42px,7vw,60px)}
  .about-stats,.mission-grid,.shop-beneficios .container,.stats .container{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:768px){
  .menu{top:75px;padding:16px}
  .about-hero,.shop-hero,.contacto-hero,.cotacao-hero,.servicos{padding-top:115px}
  .about-hero{min-height:unset;padding-bottom:80px}
  .about-hero-content h1,.about-page-content h2{font-size:clamp(32px,10vw,42px)}
  .about-stats,.mission-grid,.shop-beneficios .container,.stats .container{grid-template-columns:1fr}
  .shop-footer{align-items:flex-start;flex-direction:column;gap:14px}
  .shop-btn{width:100%;justify-content:center}
  .info-box,.step{gap:12px}
  .map-iframe{height:320px;border-radius:16px}
  .rodape-contacto p{overflow-wrap:anywhere}
}

@media (max-width:480px){
  .container{width:calc(100% - 32px)}
  .about-page-section,.sobre,.servicos,.processo,.shop-produtos,.shop-beneficios,.contacto-section,.cotacao-section{padding-block:64px}
  .contacto-form,.cotacao-form,.contacto-info,.cotacao-info{padding:20px}
  .map-iframe{height:250px}
}
