:root {
  --header-offset: 96px;
}
html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
a, button, input, select, textarea { transition: all .3s ease-in-out; }
button:active, a:active { transform: scale(.985); }
::selection { background: #c7dfcd; color: #113c26; }

.pattern-contour {
  background-image:
    radial-gradient(circle at 10% 20%, rgba(46,125,50,.08) 0 1px, transparent 1.5px),
    radial-gradient(circle at 90% 80%, rgba(46,125,50,.07) 0 1px, transparent 1.5px);
  background-size: 24px 24px, 30px 30px;
}
.section-title::before {
  content: '';
  width: 14px;
  height: 24px;
  border: 3px solid #247241;
  border-left-width: 6px;
  border-radius: 70% 20% 70% 20%;
  transform: rotate(-20deg);
  display: inline-block;
  margin-right: 10px;
  vertical-align: -5px;
}
.service-icon-ring {
  background: linear-gradient(145deg, rgba(255,255,255,.95), rgba(245,247,243,.85));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(12,57,33,.08);
}
.glass {
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.hero-overlay {
  background:
    linear-gradient(90deg, rgba(248,247,240,.95) 0%, rgba(248,247,240,.78) 32%, rgba(248,247,240,.16) 64%, rgba(13,55,33,.08) 100%),
    linear-gradient(0deg, rgba(9,57,29,.28), rgba(9,57,29,0) 38%);
}
.hero-noise::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .06;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
}
.card-hover { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(13,55,33,.14); border-color: rgba(36,114,65,.24); }
.interactive { transition: all .3s ease-in-out; }
.interactive:active { transform: scale(.97); }
.nav-link.active { color: #185a34; }
.nav-link.active::after {
  content: '';
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 2px;
  height: 2px;
  border-radius: 99px;
  background: #185a34;
}
.no-scrollbar::-webkit-scrollbar { display:none; }
.no-scrollbar { scrollbar-width: none; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.swiper-pagination-bullet { background: #fff !important; opacity: .55 !important; }
.swiper-pagination-bullet-active { opacity: 1 !important; width: 22px !important; border-radius: 99px !important; }
.apexcharts-tooltip { box-shadow: 0 12px 32px rgba(13,55,33,.16)!important; border: 1px solid #e5e9e4!important; }
.jodit-container:not(.jodit_inline) { border-color: #dbe2dc !important; border-radius: 14px !important; overflow: hidden; }
.jodit-toolbar__box:not(:empty) { border-color: #e8ece8 !important; background: #f7f8f6 !important; }
.page-hero {
  background:
    linear-gradient(90deg, rgba(15,62,39,.96), rgba(24,90,52,.88)),
    linear-gradient(135deg,#e4f0e7,#f7f5ee 60%,#c7dfcd);
}
.skeleton {
  background: linear-gradient(90deg, #edf1ed 25%, #f7f9f7 50%, #edf1ed 75%);
  background-size: 200% 100%;
  animation: shimmer 2.4s linear infinite;
}
.focus-ring:focus-visible { outline: 3px solid rgba(36,114,65,.25); outline-offset: 2px; }
@media (max-width: 1023px) {
  :root { --header-offset: 72px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* OpenSID native compatibility */
body{margin:0;background:#fff}.kwpx-native-shell{min-height:52vh;background:#fff}.kwpx-native-shell>section,.kwpx-native-shell .content_bottom{width:min(1180px,calc(100% - 32px));margin-inline:auto}.kwpx-native-shell .content_bottom{padding:24px 0 34px}.kwpx-native-shell .row{margin-left:-8px;margin-right:-8px}.kwpx-native-shell [class*="col-"]{padding-left:8px;padding-right:8px}.kwpx-native-shell .box,.kwpx-native-shell .single_page_area,.kwpx-native-shell .single_bottom_rightbar{border:1px solid #dde2dc;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(10,52,30,.07);overflow:hidden}.kwpx-native-shell .box-header,.kwpx-native-shell .box-body{padding:16px}.kwpx-native-shell .table>thead>tr>th{background:#f3f8f4;color:#14482c;border-color:#dde2dc}.kwpx-native-shell .table>tbody>tr>td,.kwpx-native-shell .table>tbody>tr>th{border-color:#edf1ed}.kwpx-native-shell .btn-primary,.kwpx-native-shell .btn-info{border-color:#247241;background:#247241}.kwpx-native-shell .btn-primary:hover,.kwpx-native-shell .btn-info:hover{background:#185a34;border-color:#185a34}.kwpx-native-shell a{color:#185a34}.kwpx-native-shell .pagination>.active>a,.kwpx-native-shell .pagination>.active>span{background:#247241;border-color:#247241;color:#fff}.kwpx-native-shell img{max-width:100%;height:auto}.kwpx-widget-native .single_bottom_rightbar{box-shadow:none;border:0;border-radius:0}.kwpx-widget-native .single_bottom_rightbar h2{font-size:13px;margin:0 0 8px}.kwpx-widget-native table{font-size:11px}.kwpx-page-hero{background:linear-gradient(90deg,rgba(15,62,39,.98),rgba(24,90,52,.92))}.kwpx-logo-placeholder svg{width:28px;height:28px}@media(max-width:767px){.kwpx-native-shell>section,.kwpx-native-shell .content_bottom{width:min(100% - 20px,1180px)}.kwpx-native-shell .content_bottom{padding-top:14px}}
