*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
p{margin:0; color:var(--muted); line-height:1.65;}
a{text-decoration:none; color:inherit;}
ul{margin:0; padding:0; list-style:none;}
img{max-width:100%; display:block;}
button{font-family:inherit; cursor:pointer;}
.container{max-width:1180px; margin:0 auto; padding:0 22px;}
/* ============ HEADER ============ */
  header{
    position:sticky; top:0; z-index:500;
    background:rgba(255,255,255,.85);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
  }
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 22px;}
.logo{display:flex; align-items:center; gap:10px;}
.logo-mark{width:34px; height:34px; position:relative;}
.logo-mark svg{width:100%; height:100%;}
.logo-text{font-family:'Plus Jakarta Sans'; font-weight:800; font-size:17px; color:var(--navy-900); line-height:1;}
.logo-sub{font-size:8.5px; letter-spacing:.16em; color:var(--green-600); font-weight:700; margin-top:2px; white-space:nowrap;}
@media (max-width:385px){
    .nav-inner{padding:12px 12px;}
    .logo{gap:6px;}
    .logo-text{font-size:14px;}
    .logo-sub{font-size:6.8px; letter-spacing:.06em;}
  }
nav.desktop-nav{display:none;}
.desktop-nav ul{display:flex; gap:34px; align-items:center;}
.desktop-nav a{font-weight:600; font-size:14.5px; color:var(--navy-900); position:relative; padding:6px 0;}
.desktop-nav a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--green-500); transition:width .3s var(--ease);}
.header-actions{display:flex; align-items:center; gap:14px;}
.hamburger{
    width:42px; height:42px; border-radius:12px; border:1.5px solid var(--line); background:#fff;
    display:flex; align-items:center; justify-content:center; flex-direction:column; gap:5px;
  }
.hamburger span{width:18px; height:2px; background:var(--navy-900); border-radius:2px; transition:transform .35s var(--ease), opacity .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{
    position:fixed; inset:0; z-index:600; background:#fff;
    transform:translateX(100%); transition:transform .5s var(--ease);
    display:flex; flex-direction:column; padding:22px 22px 24px; overflow-y:auto;
  }
.mobile-menu.open{transform:translateX(0);}
.mobile-menu-top{display:flex; justify-content:space-between; align-items:center; padding-bottom:20px; border-bottom:1px solid var(--line);}
.mobile-menu-top .logo-text{color:var(--navy-900) !important;}
.mobile-menu-close{
    width:40px; height:40px; border-radius:11px; border:1.5px solid var(--line); background:#fff; color:var(--navy-900);
    display:flex; align-items:center; justify-content:center; transition:background .3s, border-color .3s; margin-right:6px; flex-shrink:0;
  }
.mobile-menu ul{display:flex; flex-direction:column;}
.mobile-menu li{border-bottom:1px solid var(--line);}
.mobile-menu a{
    display:inline-flex; flex-direction:column; align-items:flex-start; gap:8px; padding:20px 4px 18px;
    font-family:'Plus Jakarta Sans'; font-size:20px; font-weight:700; color:var(--navy-900);
  }
.mobile-menu a .mm-underline{width:0; height:2.5px; background:var(--green-500); transition:width .3s var(--ease);}
.mobile-menu a.active{color:var(--green-600);}
.mobile-menu a.active .mm-underline{width:36px;}
.mobile-menu-foot{margin-top:auto; padding-top:22px;}
.mobile-menu-foot-bar .mmf-dot{width:4px; height:4px; border-radius:50%; background:var(--green-500); display:inline-block; margin:0 6px; vertical-align:middle;}
/* footer */
  footer{background:var(--navy-950); color:rgba(255,255,255,.7); padding:72px 0 0; position:relative; overflow:hidden;}
.footer-top{display:grid; grid-template-columns:1fr; gap:40px; position:relative; z-index:2;}
.footer-brand .logo-text{color:#fff;}
.footer-brand p{color:rgba(255,255,255,.55); margin-top:14px; max-width:280px; font-size:13.5px;}
.footer-brand .footer-contact{margin-top:20px; display:flex; flex-direction:column; gap:9px;}
.footer-brand .footer-contact a{display:flex; align-items:center; gap:9px; font-size:13.5px; color:rgba(255,255,255,.7); transition:color .3s;}
.footer-brand .footer-contact a:hover{color:var(--green-400);}
.footer-brand .footer-contact svg{flex-shrink:0; opacity:.85;}
.footer-cols{display:grid; grid-template-columns:1fr; gap:32px;}
.footer-col h5{color:#fff; font-size:12.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; margin-bottom:18px; position:relative; padding-bottom:12px;}
.footer-col h5::after{content:""; position:absolute; left:0; bottom:0; width:26px; height:2px; background:var(--green-500); border-radius:2px;}
.footer-col ul li{margin-bottom:12px;}
.footer-col a{font-size:14px; color:rgba(255,255,255,.65); transition:color .3s, padding-left .3s; display:inline-block;}
.footer-col a:hover{color:var(--green-400); padding-left:4px;}
.footer-social-row{display:flex; justify-content:center; gap:12px; margin-top:52px; position:relative; z-index:2;}
.footer-social-row a{width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; transition:background .35s var(--ease), border-color .35s, transform .35s var(--ease);}
.footer-social-row a:hover{background:var(--green-500); border-color:var(--green-500); transform:translateY(-3px);}
.footer-bottom-row{display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px;}
.footer-bottom a{color:rgba(255,255,255,.55); transition:color .3s;}
.footer-bottom a:hover{color:var(--green-400);}
.footer-credit a{color:rgba(255,255,255,.45); font-weight:600; transition:color .3s;}
.footer-credit a:hover{color:var(--green-400);}