

html, body{
  margin:0;
  padding:0;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  background:#f8fcf9;
  color:#102f20;
  -webkit-text-size-adjust:100%;
}
*, *::before, *::after{ box-sizing:border-box; }
img, svg, video, iframe{ max-width:100%; height:auto; }
body.m-menu-open{ overflow:hidden; }

.m-version-bar{
  position:sticky;
  top:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 10px;
  background:#f6fbf7;
  border-bottom:1px solid #dfece4;
}
.m-version-bar a{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 13px;
  border-radius:999px;
  border:1px solid #cfe4d7;
  background:#ffffff;
  color:#0f4a2f;
  text-decoration:none;
  font-weight:900;
  font-size:.85rem;
}
.m-version-bar a.active{
  background:#0f4a2f;
  border-color:#0f4a2f;
  color:#ffffff;
}
.m-header{
  position:sticky;
  top:51px;
  z-index:9000;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  background:#ffffff;
  border-bottom:1px solid #dfece4;
  box-shadow:0 8px 22px rgba(12,44,29,.08);
}
.m-brand{
  display:flex;
  align-items:center;
  width:152px;
  max-width:calc(100% - 64px);
}
.m-brand img{
  width:100%;
  display:block;
}
.m-menu-button{
  width:46px;
  height:44px;
  flex:0 0 46px;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid #cfe4d7;
  border-radius:16px;
  background:#eef7f1;
  color:#0f4a2f;
  cursor:pointer;
}
.m-menu-button span{
  width:22px;
  height:3px;
  border-radius:99px;
  background:#0f4a2f;
  transition:transform .18s ease, opacity .18s ease;
}
.m-menu-button.open span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
.m-menu-button.open span:nth-child(2){ opacity:0; }
.m-menu-button.open span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }

.m-drawer{
  position:fixed;
  left:0;
  right:0;
  top:114px;
  bottom:0;
  z-index:8500;
  display:none;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  padding:14px 14px 90px;
  background:#ffffff;
  border-top:1px solid #dfece4;
  box-shadow:0 22px 45px rgba(12,44,29,.18);
}
.m-drawer.open{ display:block; }
.m-nav-link,
.m-nav-group summary{
  width:100%;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:13px 16px;
  margin:0 0 9px;
  border-radius:17px;
  background:#f4faf6;
  border:1px solid #e2eee6;
  color:#102f20;
  font-size:1.02rem;
  font-weight:950;
  text-decoration:none;
  list-style:none;
  cursor:pointer;
}
.m-nav-group summary::-webkit-details-marker{ display:none; }
.m-nav-group summary::after{
  content:"⌄";
  width:26px;
  height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#e6f2ea;
  color:#0f4a2f;
  font-size:.95rem;
  margin-left:12px;
}
.m-nav-group[open] summary::after{ transform:rotate(180deg); }
.m-subnav{
  display:grid;
  gap:7px;
  padding:0 0 10px 10px;
  margin:-2px 0 10px;
  border-left:3px solid #e2eee6;
}
.m-subnav a{
  min-height:44px;
  display:flex;
  align-items:center;
  padding:10px 13px;
  border-radius:13px;
  background:#ffffff;
  border:1px solid #e2eee6;
  color:#123d27;
  font-weight:850;
  text-decoration:none;
  line-height:1.25;
}
.m-main{
  width:100%;
  overflow:hidden;
  padding-bottom:72px;
}
.m-main .container{
  width:100%!important;
  max-width:100%!important;
  padding-left:16px!important;
  padding-right:16px!important;
}
.m-main section,
.m-main .section,
.m-main .page-hero{
  padding-top:38px!important;
  padding-bottom:38px!important;
  overflow:hidden!important;
}
.m-main .hero .container,
.m-main .about-split,
.m-main .grid,
.m-main .grid.cols-2,
.m-main .grid.cols-3,
.m-main .grid.cols-4,
.m-main .cards-3,
.m-main .dual-engine-grid,
.m-main .strategic-services-grid,
.m-main .strategic-detail-layout,
.m-main .strategic-detail-layout-wide,
.m-main .single-testimonial-grid,
.m-main .contact-grid,
.m-main .footer-grid,
.m-main .hub-card-grid,
.m-main .tools-card-grid,
.m-main .mini-stats{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
}
.m-main h1{
  font-size:clamp(2rem, 10vw, 3.15rem)!important;
  line-height:1.06!important;
  letter-spacing:-.04em!important;
  max-width:100%!important;
}
.m-main h2{
  font-size:clamp(1.55rem, 8vw, 2.25rem)!important;
  line-height:1.15!important;
}
.m-main p,
.m-main li{
  font-size:1rem!important;
  line-height:1.62!important;
  max-width:100%!important;
}
.m-main .hero-actions,
.m-main .actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.m-main .btn,
.m-main button,
.m-main input,
.m-main select,
.m-main textarea{
  width:100%;
  max-width:100%;
}
.m-main .card,
.m-main .content-box,
.m-main .welcome-card,
.m-main .engine-card,
.m-main .institutional-box,
.m-main .clean-testimonial-card,
.m-main .testimonial-side-card,
.m-main .hub-card,
.m-main .calculator-card,
.m-main .regulatory-strip details{
  width:100%!important;
  max-width:100%!important;
  padding:20px!important;
  border-radius:18px!important;
}
.m-main .hero-card{
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:12px!important;
  border-radius:22px!important;
}
.m-main .hero-card img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:16px!important;
}
.m-main table{
  display:block!important;
  width:100%!important;
  overflow-x:auto!important;
}
.m-main .strategic-service-card{
  display:block!important;
  width:100%!important;
  overflow:hidden!important;
}
.m-main .strategic-card-media,
.m-main .strategic-card-content{
  display:block!important;
  width:100%!important;
}
.m-sticky-actions{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:9200;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);
  border-top:1px solid #dfece4;
  box-shadow:0 -10px 24px rgba(12,44,29,.12);
}
.m-sticky-actions a{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#0f4a2f;
  color:#ffffff;
  text-decoration:none;
  font-weight:950;
}
.m-sticky-actions a:first-child{
  background:#d6a03a;
  color:#0b2617;
}
@media(max-width:380px){
  .m-brand{ width:128px; }
  .m-version-bar a{ font-size:.78rem; padding:7px 9px; }
}


/* Strong visible mobile/laptop switch and closed regulatory disclosure */
.m-version-bar{
  position:sticky;
  top:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 10px;
  background:#f6fbf7;
  border-bottom:1px solid #dfece4;
}
.m-version-bar a{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 13px;
  border-radius:999px;
  border:1px solid #cfe4d7;
  background:#ffffff;
  color:#0f4a2f;
  text-decoration:none;
  font-weight:900;
  font-size:.85rem;
}
.m-version-bar a.active{
  background:#0f4a2f;
  border-color:#0f4a2f;
  color:#ffffff;
}
.m-main .regulatory-details summary{
  min-height:42px;
}
.m-main .regulatory-copy{
  display:none;
}
.m-main .regulatory-details[open] .regulatory-copy{
  display:block;
}
