:root {
  --brand: #0a6b3c;
  --brand-dark: #064c2a;
  --accent: #c59d31;
  --text: #1f2937;
  --muted: #6b7280;
  --brand-light: #1f8a51;
}

html, body {
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color: var(--text);
}

.topbar { background: var(--brand); color: #fff; }
.topbar-inner {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 40px;
}
.topbar-left { display: flex; align-items: center; gap: .75rem; font-size: .875rem; }
.tb-item { opacity: .95; }
.tb-sep { opacity: .6; }
.topbar-right { display: flex; align-items: center; gap: .75rem; }
.tb-link { color: #fff; opacity: .9; }
.tb-link:hover, .tb-link:focus { opacity: 1; color: #fff; }

/* Header branding strip */
.site-header { position: relative; background: var(--brand); color: #fff; }
.header-inner { min-height: 110px; }
.brand-lines { line-height: 1.1; }
.brand-line1, .brand-line2 { font-weight: 700; letter-spacing: .02em; }
.brand-line1 { font-size: 1.15rem; }
.brand-line2 { font-size: 1.15rem; }
.call-box { background: rgba(255,255,255,.08); border: 2px solid rgba(255,255,255,.25); border-radius: .25rem; padding: .5rem .9rem; }
.call-icon { width: 44px; height: 44px; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.8); border-radius: .25rem; color: #fff; }
.call-label { font-size: .8rem; opacity: .9; }
.call-number { font-weight: 700; }
.yt-label { font-size: .85rem; font-weight: 600; color: #fff; opacity: .95; }

/* Two-tone split: white polygon on left over green background */
.site-header::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 60%;
  background: #fff;
  /* crisp diagonal edge similar to reference */
  clip-path: polygon(0 0, 85% 0, 70% 100%, 0 100%);
}
.site-header .header-left { position: relative; z-index: 1; color: var(--brand-dark); }
.site-header .header-right { position: relative; z-index: 1; }

/* Responsive tuning to keep proportions across sizes */
@media (min-width: 768px) {
  .site-header::before { width: 58%; clip-path: polygon(0 0, 80% 0, 65% 100%, 0 100%); }
}
@media (min-width: 1200px) {
  .site-header::before { width: 55%; clip-path: polygon(0 0, 78% 0, 60% 100%, 0 100%); }
}
/* Disable any previous right-side accent */
.site-header::after { display: none; }

.brand-logo {
  display: inline-grid;
  place-items: center;
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--brand);
  color: #fff;
  font-weight: 700;
}

#mainNav.sticky {
  position: sticky;
  top: 0;
  z-index: 1020;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.navbar { border-bottom: 1px solid #e5e7eb; }
.navbar-brand { padding: .25rem 0; }
.brand-text { line-height: 1; }
.brand-title { font-weight: 600; color: var(--brand-dark); display: block; }
.brand-sub { color: var(--muted); font-size: .8rem; }

.navbar-nav .nav-link { padding: .75rem 1rem; color: #374151; font-weight: 500; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link:focus { color: var(--brand); }
.navbar-nav .nav-link.active { color: var(--brand) !important; font-weight: 600; }

.dropdown-menu { border: 1px solid #e5e7eb; box-shadow: 0 10px 30px rgba(0,0,0,.08); border-radius: .5rem; }
.dropdown-item { padding: .5rem 1rem; }
.dropdown-item:hover, .dropdown-item:focus { background: #f3f4f6; color: var(--brand-dark); }

.nav-link.active {
  color: var(--brand) !important;
  font-weight: 600;
}

/* Green navbar to match reference */
.navbar-green { background: var(--brand); border-bottom: none; }
.navbar-green .nav-link { color: #fff; padding: .75rem 1rem; }
.navbar-green .nav-link:hover, .navbar-green .nav-link:focus { color: #f3f4f6; }
.navbar-green .dropdown-toggle::after { border-top-color: #fff; border-right-color: transparent; border-bottom-color: transparent; border-left-color: transparent; }
.navbar-green .dropdown-menu { border-radius: .25rem; border: 1px solid #e5e7eb; box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.navbar-green .dropdown-item:hover, .navbar-green .dropdown-item:focus { background: #f3f4f6; color: var(--brand-dark); }

/* Left wedge under nav */
.navbar-green .container::before {
  /*content: "";*/
  position: absolute;
  left: 0; top: -18px;
  width: 0; height: 0;
  border-top: 18px solid var(--brand);
  border-right: 180px solid transparent;
}

/* White hamburger icon for green navbar */
.navbar-green .navbar-toggler { border-color: rgba(255,255,255,.6); }
.navbar-green .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

.hero .carousel-item img {
  height: 60vh;
  object-fit: cover;
}
.hero .carousel-caption { background: linear-gradient(transparent, rgba(0,0,0,0.6)); border-radius: .5rem; padding: 1.2rem 1.5rem; }
.hero-title { font-size: 2.25rem; font-weight: 700; }
.hero-sub { font-size: 1.05rem; }
.btn.btn-accent {
  background: var(--accent);
  color: #fff;
}
.bg-accent { background: var(--accent); }
button:focus, a:focus { outline: none; box-shadow: 0 0 0 .2rem rgba(197,157,49,.35); }

.quick-links .ql {
  background: #fff;
  border: 1px solid #e5e7eb;
  padding: .9rem;
  border-radius: .5rem;
  color: var(--text);
  text-decoration: none;
}
.quick-links .ql:hover { border-color: var(--brand); color: var(--brand); }

.section-pad { padding: 3.5rem 0; }
.section-title { color: var(--brand-dark); font-weight: 700; }

.news-card .badge { background: var(--brand); }
.news-card .card-title { min-height: 3.2rem; }

.cta { background: linear-gradient(90deg, var(--brand) 0%, var(--brand-dark) 100%); }

.footer { background: var(--brand-dark); }
.footer a { color: #e5e7eb; text-decoration: none; }
.footer a:hover { color: #fff; }
.footer-bottom { background: #052f1b; }

.back-to-top {
  position: fixed;
  right: 1rem; bottom: 1rem;
  width: 40px; height: 40px;
  border: none; border-radius: 50%;
  background: var(--brand);
  color: #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,0.2);
  display: none;
}
.back-to-top:hover { background: var(--accent); }

@media (min-width: 992px) {
  .navbar-nav .nav-link { padding: 1rem 1rem; }
}