/* Load font */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');

/* Base */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --ink:#1e293b;
  --muted:#64748b;
  --primary:#2563eb;
  --border:#e2e8f0;
  --brand:#008000;
  --link:#2563eb;
}
body{font-family:'DM Sans',sans-serif;line-height:1.6;color:#1f2937;background:#fff}

/* ===== Header ===== */
.header{position:relative;background:#fff}

/* Top green bar */
.header-toparea{background:var(--brand);color:#fff;font-size:14px}
.header-toparea .container{max-width:1200px;margin:0 auto;padding:.65rem 1rem}
.header-toparea .row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.header-topinfo ul{list-style:none;display:flex;gap:18px;flex-wrap:wrap;margin:0;padding:0}
.header-topinfo a{color:#fff;text-decoration:none}

/* Top bar CTAs */
.header-topbutton{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-left:auto}
.header-topbutton a{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 16px;line-height:1;border-radius:12px;
  background:#fff;color:#111;border:0;box-shadow:none;font-weight:800;text-decoration:none;
}
.header-topbutton a:hover{background:#111;color:#fff}
.header-topbutton a:focus{outline:none}
@media (max-width:768px){.header-topbutton{grid-template-columns:1fr}}

/* Sticky logo + nav */
.header-bottomarea{border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1000;background:#fff}
.header-bottomarea .container{max-width:1200px;margin:0 auto;padding:.6rem 1rem}
.header-bottominner{display:flex;align-items:center;gap:18px;justify-content:space-between}
.header-logo img{height:44px;width:auto;display:block}
@media (max-width:768px){.header-logo img{height:40px}}

/* Desktop nav */
.tm-navigation{margin-left:auto}
.tm-navigation>ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.tm-navigation>ul>li{position:relative}
.tm-navigation a{display:inline-block;padding:.5rem .25rem;text-decoration:none;color:#0f172a;font-weight:600}
.tm-navigation a:hover{color:var(--link)}
.tm-navigation-dropdown>ul{
  position:absolute;left:0;top:calc(100% + 6px);min-width:280px;background:#fff;
  border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.08);
  padding:.5rem;display:none;z-index:1000
}
.tm-navigation-dropdown:hover>ul{display:block}
.tm-navigation-dropdown>ul li{list-style:none}
.tm-navigation-dropdown>ul a{
  display:block;padding:.55rem .75rem;border-radius:8px;color:#475569;font-weight:600
}
.tm-navigation-dropdown>ul a:hover{background:#f1f5f9;color:var(--link)}

/* Right icons */
.header-icons ul{display:flex;gap:14px;list-style:none;margin:0;padding:0}
.header-icons a{display:inline-flex;width:28px;height:28px}
.header-icons svg{width:28px;height:28px;fill:#64748b;transition:.2s}
.header-icons a:hover svg{fill:#2563eb}

/* Mobile toggle and drawer */
.nav-toggle{
  margin-left:8px;border:1px solid var(--border);background:#fff;border-radius:12px;
  padding:.4rem .6rem;font-size:1rem;cursor:pointer;display:none;width:42px;height:42px
}
@media (max-width:992px){
  .tm-navigation,.header-icons{display:none}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
}
.header-mobilemenu{display:block}

.tm-mobilenav-panel{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;z-index:998}
.tm-mobilenav{
  position:fixed;top:0;left:0;height:100dvh;width:88%;max-width:360px;background:#fff;
  transform:translateX(-100%);transition:transform .25s ease;z-index:999;padding:.5rem 0;
  overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch
}
.tm-mobilenav.open{transform:translateX(0)}
.tm-mobilenav-panel.open{display:block}
.tm-mobilenav ul{list-style:none;margin:0;padding:0}
.tm-mobilenav li{border-bottom:1px solid #eef2f7}
.tm-mobilenav a{display:block;padding:.95rem 1rem;font-weight:700;text-decoration:none;color:#0f172a}
.tm-mobilenav .has-children>button{
  width:100%;text-align:left;background:#fff;border:none;padding:.95rem 1rem;font-weight:800;font-size:1.06rem;cursor:pointer
}
.tm-mobilenav .has-children>button:after{content:"▾";float:right;opacity:.7}
.tm-mobilenav .child{display:none}
.tm-mobilenav .child.show{display:block}
.tm-mobilenav .child a{padding:.75rem 1.25rem;color:#334155}
.tm-mobilenav .child a:hover{color:#2563eb}

html.nav-open,body.nav-open{overflow:hidden !important;height:100%}

/* ===== Footer ===== */
.footer{background:#0f172a;color:#cbd5e1}
.footer-toparea{padding:2rem 1rem}
.footer-toparea .container{max-width:1200px;margin:0 auto}
.footer .widgets{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}
.widget-title{color:#fff;margin-bottom:.75rem}
.widget-contact ul{list-style:disc;margin-left:1rem}
.widget-quicklinks li{list-style:none;margin:.3rem 0}
.widget-quicklinks a{color:#cbd5e1;text-decoration:none}
.widget-quicklinks a:hover{color:#fff}
.widget-contact-social{display:flex;gap:10px;list-style:none;padding:0;margin:0}
.widget-contact-social a{color:#cbd5e1;text-decoration:none}
.widget-contact-social a:hover{color:#fff}
.footer-bottomarea{border-top:1px solid #1f2937;padding:1rem 1rem}
.footer-bottomarea .container{max-width:1200px;margin:0 auto;color:#cbd5e1}

/* Utilities and mobile polish */
:target {scroll-margin-top: 90px;}
html, body{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
img, video, iframe{max-width:100%;height:auto;display:block}
p, h1, h2, h3, h4, h5, h6, li, a{overflow-wrap:anywhere;word-break:break-word}

/* Compact mobile header tweaks */
@media (max-width:768px){
  .header-toparea .container{ padding:.6rem .75rem; }
  .header-topinfo ul{ flex-direction:column; gap:2px; font-size:13px; }
  .header-topbutton{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important; margin-left:0 !important; }
  .header-topbutton a{ padding:10px 12px !important; font-size:14px !important; border-radius:10px !important; }
}

/* Desktop: keep CTAs on one line */
@media (min-width:992px){
  .header-toparea .row{ flex-wrap:nowrap; align-items:center; }
  .header-topbutton{ display:flex !important; gap:12px; margin-left:auto; }
  .header-topbutton a{ white-space:nowrap; padding:10px 16px; }
}

/* Mobile: center contact text and CTA labels */
@media (max-width:768px){
  .header-toparea .row{ justify-content:center; }
  .header-topinfo{ flex:1 1 100%; display:flex; justify-content:center; }
  .header-topinfo ul{ margin:0 auto !important; align-items:center; justify-content:center; text-align:center; }
  .header-topbutton a{
    display:flex !important; align-items:center; justify-content:center; text-align:center;
    line-height:1.2; white-space:normal; text-wrap:balance; padding:12px 14px;
  }
}

/* Footer: mobile cleanup */
@media (max-width:768px){
  .footer-toparea{ padding:18px 14px; }
  .footer-bottomarea .container{ text-align:center; }
  .footer .widgets,.footer .footer-widgets{ display:grid !important; grid-template-columns:1fr !important; gap:16px !important; }
  .footer .widgets,.footer .widgets *{ line-height:1.45; font-size:15px; }
  .widget-contact-social{ display:flex; flex-wrap:wrap; gap:12px; padding:0; margin:6px 0 0; }
  .widget-contact-social li{ margin:0; list-style:none; }
  .footer p,.footer li,.footer a{ word-break:normal; overflow-wrap:break-word; }
  .footer a[href^="tel"], .footer a[href^="mailto"]{ white-space:nowrap; }
  .footer .widget-contact ul{ list-style:none; padding-left:0; margin:0; }
  .footer .widget-quicklinks ul{ list-style:none; padding:0; margin:0; }
  .footer .widget-quicklinks li{ margin:6px 0; }
}
