body{line-height:1.6;}
a{color:inherit;text-decoration:none;}

/* ---------- Header ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(248,247,243,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(23,61,49,0.08);
}
.header-inner{
  max-width:1180px;margin:0 auto;padding:16px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;
}
.logo img{height:54px;width:auto;}
nav{display:flex;gap:36px;font-size:15px;}
nav a{color:var(--green-dark);opacity:0.85;transition:opacity .2s;position:relative;}
nav a:hover{opacity:1;}
nav a.active{opacity:1;font-weight:500;}
.header-cta{
  display:flex;align-items:center;gap:10px;
  background:var(--green);color:#fff;
  padding:11px 20px;border-radius:2px;
  font-size:14px;font-weight:500;
  white-space:nowrap;
  transition:background .2s;
}
.header-cta:hover{background:var(--green-dark);}
.nav-toggle{display:none;background:none;border:none;padding:8px;width:40px;height:40px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;flex-shrink:0;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--green-dark);transition:transform .25s ease,opacity .25s ease;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------- Buttons ---------- */
.btn-primary{
  background:var(--green);color:#fff;
  padding:15px 26px;border-radius:2px;
  font-size:15px;font-weight:500;
  transition:background .2s;
  display:inline-block;
}
.btn-primary:hover{background:#457f32;}
.btn-secondary{
  background:transparent;color:#fff;
  padding:15px 26px;border-radius:2px;
  border:1px solid rgba(255,255,255,0.55);
  font-size:15px;font-weight:500;
  transition:border-color .2s, background .2s;
  display:inline-block;
}
.btn-secondary:hover{border-color:#fff;background:rgba(255,255,255,0.08);}

/* ---------- Footer ---------- */
footer{background:var(--green-dark);color:rgba(248,247,243,0.7);padding:56px 0 28px;}
.footer-top{
  display:flex;justify-content:space-between;align-items:flex-start;
  flex-wrap:wrap;gap:40px;
  padding-bottom:36px;border-bottom:1px solid rgba(248,247,243,0.15);
}
.footer-brand{max-width:320px;}
.footer-brand img{height:26px;margin-bottom:14px;}
.footer-brand p{font-size:13px;line-height:1.7;}
.footer-cols{display:flex;gap:64px;flex-wrap:wrap;}
.footer-col h5{color:#fff;font-size:14px;margin-bottom:16px;font-weight:500;}
.footer-col a{display:block;font-size:13px;padding:6px 0;opacity:0.8;}
.footer-col a:hover{opacity:1;}
.footer-bottom{
  padding-top:24px;display:flex;justify-content:space-between;
  font-size:12px;flex-wrap:wrap;gap:10px;
}

@media (max-width:860px){
  .nav-toggle{display:flex;}
  nav{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;gap:0;
    background:var(--warm-white);
    max-height:0;overflow:hidden;
    border-bottom:1px solid rgba(23,61,49,0.08);
    box-shadow:0 12px 24px rgba(23,61,49,0.1);
    transition:max-height .3s ease;
  }
  nav.nav-open{max-height:320px;}
  nav a{display:block;padding:15px 32px;border-top:1px solid rgba(23,61,49,0.08);}
}
@media (max-width:480px){
  .wrap{padding:0 20px;}
  .header-inner{padding:14px 20px;}
  .logo{position:relative;overflow:hidden;width:78px;height:44px;}
  .logo img{position:absolute;max-width:none;height:80px;width:330px;left:-17.6px;top:-13.2px;}
  .header-cta{padding:9px 14px;font-size:12.5px;}
  nav a{padding:14px 20px;}
  .footer-top{gap:28px;}
  .footer-cols{gap:36px;}
}
