/* Shared layout and accessibility improvements; editorial content stays unchanged. */
body, h1, h2, h3, h4, h5, h6, #hero h1, .section-title h2, .navbar a {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a, #hero h1, .section-title h2, main .container h2 { color: #176d32; }
a:hover, .navbar a:hover, .navbar .active, .navbar-mobile a { color: #125727; }
.features .content .icon-box p { color: #585a61; }
img { max-width: 100%; height: auto; }
[data-aos] { opacity: 1 !important; transform: none !important; }
md-block { display: block; opacity: 1 !important; }
md-block:not([rendered]) { white-space: pre-wrap; }
:focus-visible { outline: 3px solid #174db0; outline-offset: 4px; }
#main:focus { outline: none; }
section, #main { scroll-margin-top: 100px; }
.skip-link { position: fixed; top: -100px; left: 1rem; z-index: 2000; padding: .75rem 1rem; background: #fff; color: #174db0; }
.skip-link:focus { top: 1rem; }
.logo h4, .logo .brand { margin: 0; font-size: 1.15rem; line-height: 1.3; font-weight: 600; }
.features .content .icon-box h3 { font-size: 20px; font-weight: 700; margin: 5px 0 10px 60px; }
.section-title h1 { font-size: 2rem; color: #176d32; }
.navbar .dropdown { display: flex; flex-wrap: wrap; align-items: center; }
.faq-toggle { background: transparent; border: 0; color: #47536e; min-width: 44px; min-height: 44px; padding: 8px; }
.navbar .dropdown.is-open > ul { opacity: 1; visibility: visible; top: 100%; }
.navbar .dropdown:not(.is-open) > ul { opacity: 0; visibility: hidden; }
.navbar .scrollable-dropdown { max-height: min(65vh, 32rem); max-width: min(90vw, 32rem); }
.navbar .scrollable-dropdown a { white-space: normal; }
.mobile-nav-toggle { border: 0; border-radius: .5rem; background: #fff; min-width: 44px; min-height: 44px; padding: 10px; }
.mobile-download { display: none; }
#hero .hero-img img { max-width: 540px; }
.features .image img, .details img { display: block; width: 100%; max-width: 320px; margin-inline: auto; align-self: center; }
.gallery > .container-fluid { max-width: 1320px; margin-inline: auto; }
.gallery-slider { overflow: hidden; position: relative; }
.gallery-slider .swiper-wrapper { display: flex; align-items: flex-start; }
.gallery .swiper-slide { width: min(60vw, 260px); flex-shrink: 0; }
.gallery-slider:not(.swiper-initialized) .swiper-wrapper { overflow-x: auto; gap: 24px; }
.gallery-slider:not(.swiper-initialized) .swiper-slide { flex: 0 0 min(60vw, 260px); }
.gallery .swiper-slide img { width: 100%; height: auto; }
@media (max-width: 991px) {
  body { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  body.nav-open { overflow: hidden; }
  #header .logo { max-width: calc(100% - 56px); }
  .navbar-mobile .mobile-nav-toggle { background: #fff; color: #176d32; }
  .navbar-mobile > ul { display: block; }
  .navbar-mobile .dropdown > ul { display: none; width: 100%; margin: 0 12px 12px; max-height: 45vh; }
  .navbar-mobile .dropdown.is-open > ul { display: block; }
  .navbar-mobile .dropdown > a { flex: 1; }
  .navbar-mobile a { min-height: 44px; }
  .navbar-mobile .header-download { justify-content: flex-start; }
  .navbar-mobile .header-download img { height: 50px; width: 140px; }
  .mobile-download { display: flex; align-items: center; justify-content: center; position: fixed; bottom: calc(12px + env(safe-area-inset-bottom)); left: 16px; right: 16px; z-index: 995; min-height: 48px; padding: 12px; border-radius: 12px; background: #176d32; color: #fff; font-weight: 600; box-shadow: 0 3px 16px #0003; }
  .mobile-download:hover { color: #fff; background: #125727; }
  .back-to-top { bottom: calc(80px + env(safe-area-inset-bottom)); background: #176d32; color: #fff; width: 44px; height: 44px; }
  .no-js #header { position: static; }
  .no-js .mobile-nav-toggle, .no-js .faq-toggle { display: none; }
  .no-js #header .container { display: block !important; }
  .no-js .navbar > ul { display: block; }
  .no-js .navbar .dropdown { display: block; }
  .no-js .navbar .dropdown > ul { position: static; display: block; opacity: 1; visibility: visible; max-height: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
@media print { .mobile-download, .back-to-top, .mobile-nav-toggle { display: none !important; } }
