/* Chống Thấm Việt Nam – draft theme 2026-10-08.
   Controlled V2 hero, dropdown and footer. Scoped selectors, no global resets.
   Loaded after legacy Customizer CSS to avoid accumulated Grid/Flex conflicts. */
body.home #page.index-page {
  display: block !important;
  width: min(1240px, calc(100% - 40px)) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 0 12px !important;
  min-width: 0;
}
body.home #page.index-page > .home-intro.container {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 24px 0 20px !important;
}
body.home #page.index-page > .home-intro h1 {
  margin: 0 !important; line-height: 1.3 !important;
  color: #173e2b !important; font-size: clamp(24px, 2.6vw, 33px) !important;
}
body.home #page.index-page > .ctv-v2-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(254px, 290px) minmax(0, 1fr) !important;
  gap: 22px !important;
  width: 100% !important; min-width: 0;
  align-items: stretch !important; margin: 0 0 36px !important;
}
body.home #page.index-page .ctv-v2-hero-grid > .ctv-home-services {
  grid-column: auto !important; grid-row: auto !important;
  display: flex !important; flex-direction: column !important;
  align-self: stretch !important; float: none !important;
  width: 100% !important; min-width: 0 !important; max-width: none !important;
  margin: 0 !important; padding: 0 !important;
  border: 1px solid #dce8df !important; border-radius: 11px !important;
  background: #fff !important; box-shadow: 0 3px 15px rgba(16, 61, 35, .07) !important;
  overflow: hidden !important;
}
body.home #page.index-page .ctv-v2-hero-grid .ctv-home-services > .container {
  width: 100% !important; max-width: none !important; height: 100% !important;
  margin: 0 !important; padding: 0 !important;
  display: flex !important; flex-direction: column !important;
}
body.home #page.index-page .ctv-v2-hero-grid .ctv-service-heading {
  display: flex !important; float: none !important; width: 100% !important;
  flex-wrap: nowrap !important; align-items: center !important;
  justify-content: space-between !important; gap: 9px !important;
  padding: 15px 14px !important; min-height: 66px !important; margin: 0 !important;
  background: #eaf4ec !important; border-bottom: 1px solid #dce8df !important;
  box-sizing: border-box !important;
}
body.home #page.index-page .ctv-v2-hero-grid .ctv-service-heading h2 {
  flex: 1 1 auto !important; min-width: 0 !important; width: auto !important;
  margin: 0 !important; padding: 0 !important;
  color: #143e28 !important; font-size: 18px !important; font-weight: 750 !important;
  line-height: 1.25 !important; text-align: left !important;
}
body.home #page.index-page .ctv-v2-hero-grid .ctv-service-view-all {
  float: none !important; flex: 0 0 auto !important; margin: 0 !important; padding: 0 !important;
}
body.home #page.index-page .ctv-v2-hero-grid .ctv-service-view-all a {
  display: inline-flex !important; align-items: center !important;
  width: auto !important; min-height: 34px !important; padding: 6px 10px !important;
  background: #fff !important; color: #176336 !important;
  border: 1px solid #b9d5c2 !important; border-radius: 5px !important;
  font-size: 12px !important; font-weight: 700 !important; text-decoration: none !important;
}
body.home #page.index-page .ctv-v2-hero-grid .ctv-service-nav {
  display: block !important; flex: 1 1 auto; width: 100% !important;
  padding: 0 !important; margin: 0 !important;
}
body.home #page.index-page .ctv-v2-hero-grid .ctv-service-menu {
  display: flex !important; flex-direction: column !important;
  grid-template-columns: none !important; width: 100% !important; padding: 0 !important;
  margin: 0 !important; list-style: none !important;
}
body.home #page.index-page .ctv-v2-hero-grid .ctv-service-item {
  display: block !important; float: none !important; width: 100% !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  border-bottom: 1px solid #e9eee9 !important; list-style: none !important;
}
body.home #page.index-page .ctv-v2-hero-grid .ctv-service-item:last-child { border-bottom: 0 !important; }
body.home #page.index-page .ctv-v2-hero-grid .ctv-service-item a {
  display: flex !important; justify-content: space-between !important;
  align-items: center !important; width: 100% !important; min-height: 45px !important;
  gap: 8px !important; padding: 10px 15px !important; margin: 0 !important;
  box-sizing: border-box !important; color: #214432 !important;
  font-size: 13.5px !important; font-weight: 620 !important; line-height: 1.35 !important;
  text-align: left !important; text-transform: none !important;
  background: #fff !important; text-decoration: none !important; border: 0 !important;
}
body.home #page.index-page .ctv-v2-hero-grid .ctv-service-item a:hover,
body.home #page.index-page .ctv-v2-hero-grid .ctv-service-item a:focus-visible {
  background: #eef8f1 !important; color: #14562c !important;
}
body.home #page.index-page .ctv-v2-hero-grid .ctv-service-chevron {
  color: #317c4a !important; font-size: 21px !important; line-height: 1 !important;
}
body.home #page.index-page .ctv-v2-hero-grid .ctv-service-footer {
  width: 100%; margin-top: auto !important; padding: 13px 15px !important;
  background: #f6faf7 !important; border-top: 1px solid #e5eee7 !important;
  box-sizing: border-box;
}
body.home #page.index-page .ctv-v2-hero-grid .ctv-service-footer a {
  display: flex; justify-content: space-between; gap: 10px;
  font-size: 12.5px !important; font-weight: 700 !important; color: #156135 !important;
  text-decoration: none !important;
}
/* Slider is template-based, so legacy widgets and scroll-snap styles do not apply. */
body.home #page.index-page .ctv-v2-hero-grid > .ctv-v2-hero {
  display: block !important; grid-column: auto !important; grid-row: auto !important;
  float: none !important; width: 100% !important; min-width: 0 !important;
  max-width: none !important; margin: 0 !important; padding: 0 !important;
  background: transparent !important; border: 0 !important;
}
.ctv-v2-carousel {
  position: relative; width: 100%; height: 100%;
  min-height: 495px; overflow: hidden; isolation: isolate;
  border: 1px solid #e0e9e2; border-radius: 11px;
  background: #f0f6f1; box-shadow: 0 3px 15px rgba(16, 61, 35, .07);
  box-sizing: border-box;
}
.ctv-v2-carousel-slides { position: relative; height: 100%; min-height: 495px; }
.ctv-v2-slide {
  display: none !important; width: 100%; height: 100%; min-height: 495px;
  grid-template-columns: minmax(0, 48%) minmax(0, 52%);
  color: #153e29; background: #f0f7f2; overflow: hidden;
}
.ctv-v2-slide.is-active { display: grid !important; }
.ctv-v2-slide-copy {
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
  min-width: 0; padding: 35px clamp(25px, 3.1vw, 47px) 75px; box-sizing: border-box;
  background: linear-gradient(125deg, #f5faf6 0%, #eaf5ed 100%);
}
.ctv-v2-slide-copy .ctv-v2-eyebrow {
  margin: 0 0 14px !important; color: #247845 !important;
  font-size: 11px !important; line-height: 1.3; font-weight: 800;
  letter-spacing: .09em; text-transform: uppercase;
}
.ctv-v2-slide-copy h2 {
  margin: 0 0 16px !important; padding: 0;
  color: #153d2a !important; font-size: clamp(27px, 2.5vw, 38px) !important;
  line-height: 1.14 !important; letter-spacing: -.025em; font-weight: 800 !important;
  text-align: left !important; text-transform: none !important;
}
.ctv-v2-slide-description {
  margin: 0 0 15px !important; padding: 0;
  color: #435f4c !important; font-size: 14.5px !important; line-height: 1.65 !important;
}
.ctv-v2-slide-points { margin: 0 0 21px !important; padding: 0 !important; list-style: none !important; }
.ctv-v2-slide-points li {
  display: flex; gap: 9px; align-items: flex-start;
  list-style: none !important; margin: 0 0 7px !important;
  padding: 0; color: #234733; font-size: 13px; line-height: 1.45;
}
.ctv-v2-slide-points li::before {
  content: '✓'; flex: 0 0 16px; display: inline-flex;
  align-items: center; justify-content: center; width: 16px; height: 16px;
  margin-top: 1px; background: #dceee2; color: #14642f; border-radius: 50%;
  font-weight: 800; font-size: 10px;
}
.ctv-v2-hero-button {
  display: inline-flex !important; justify-content: center; align-items: center; gap: 12px;
  min-height: 44px; padding: 10px 18px; margin: 0 !important;
  border: 1px solid #166534; border-radius: 6px;
  background: #166534; color: #fff !important; text-decoration: none !important;
  font-size: 13px; font-weight: 700;
}
.ctv-v2-hero-button:hover, .ctv-v2-hero-button:focus-visible {
  background: #104d26; color: #fff !important;
}
.ctv-v2-slide-media { min-height: 495px; height: 100%; background: #d7e7dd; overflow: hidden; }
.ctv-v2-slide-media img {
  display: block !important; width: 100% !important; max-width: none !important;
  height: 100% !important; min-height: 495px; object-fit: cover !important;
  object-position: 60% center;
}
.ctv-v2-carousel-controls {
  position: absolute; bottom: 18px; left: 0; right: 0; z-index: 5;
  display: flex; justify-content: space-between; align-items: center;
  pointer-events: none; padding: 0 18px 0 29px;
}
.ctv-v2-carousel-dots, .ctv-v2-carousel-arrows {
  display: inline-flex; align-items: center; gap: 7px; pointer-events: auto;
}
.ctv-v2-carousel-dot {
  display: block; width: 27px; height: 6px; min-height: 6px;
  margin: 0; padding: 0; border: 0; border-radius: 10px;
  background: #adcdb5; cursor: pointer; transition: background .2s, width .2s;
}
.ctv-v2-carousel-dot.is-active { width: 39px; background: #166534; }
.ctv-v2-carousel-arrows button {
  display: inline-flex; align-items: center; justify-content: center;
  width: 39px; height: 39px; min-width: 39px; min-height: 39px;
  margin: 0; padding: 0 0 3px; border: 1px solid #d9e8dd;
  border-radius: 50%; color: #13552e; background: rgba(255,255,255,.94);
  font: 600 28px/1 system-ui,sans-serif; cursor: pointer;
}
.ctv-v2-carousel-arrows button:hover,
.ctv-v2-carousel-arrows button:focus-visible { background: #166534; color: #fff; }
/* Restore natural full-width sections: legacy layout previously constrained articles to 1 narrow grid cell. */
body.home #page.index-page > .home-section {
  float: none !important; width: 100% !important; max-width: none !important;
  min-width: 0 !important; clear: both; margin-left: 0 !important; margin-right: 0 !important;
  box-sizing: border-box;
}
body.home #page.index-page > .home-section > .container {
  width: 100% !important; max-width: none !important; margin: 0 !important;
  box-sizing: border-box;
}
body.home #page.index-page > .featured-blog-posts {
  margin-top: 0 !important; padding-bottom: 35px !important;
}
body.home #page.index-page .featured-blog-posts-container {
  display: grid !important; grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 20px !important; width: 100% !important;
}
body.home #page.index-page .featured-blog-posts-container > .featured-blog-post {
  float: none !important; display: flex !important; flex-direction: column !important;
  width: 100% !important; max-width: none !important; min-width: 0 !important;
  margin: 0 !important; box-sizing: border-box;
}
body.home #page.index-page .featured-blog-posts-container .featured-image {
  aspect-ratio: 4 / 3 !important; height: auto !important; overflow: hidden !important;
}
body.home #page.index-page .featured-blog-posts-container .featured-image img {
  width: 100% !important; height: 100% !important; object-fit: cover !important;
}
/* Built-in theme already styles the remaining product and article sections. */
/* Site-wide dropdown with real nested service links, not blank white panels. */
#site-header .navigation li.ctv-service-parent { position: relative !important; }
#site-header .navigation li.ctv-service-parent > a { padding-right: 42px !important; }
#site-header .navigation li.ctv-service-parent > .ctv-submenu-toggle {
  position: absolute; top: 0; right: 0; z-index: 12;
  display: flex; align-items: center; justify-content: center;
  height: 45px; width: 40px; padding: 0; margin: 0;
  border: 0; background: transparent; color: inherit;
  font-size: 20px; font-family: system-ui,sans-serif; cursor: pointer;
}
#site-header .navigation li.ctv-service-parent > .ctv-submenu-toggle::after { content:'⌄'; }
#site-header .navigation li.ctv-service-parent.ctv-open > .ctv-submenu-toggle::after { content:'⌃'; }
#site-header .navigation li.ctv-service-parent > ul.sub-menu {
  display: none !important; position: absolute; z-index: 999;
  top: 100%; left: 0; width: 260px; min-width: 260px; max-width: 90vw;
  padding: 6px 0 !important; margin: 0 !important;
  background: #fff !important; border: 1px solid #dce7de;
  border-radius: 0 0 9px 9px; box-shadow: 0 14px 25px rgba(14,62,33,.15);
  box-sizing: border-box;
}
#site-header .navigation li.ctv-service-parent.ctv-open > ul.sub-menu,
#site-header .navigation li.ctv-service-parent:focus-within > ul.sub-menu { display: block !important; }
#site-header .navigation li.ctv-service-parent > ul.sub-menu li { display: block !important; float: none !important; width: 100% !important; }
#site-header .navigation li.ctv-service-parent > ul.sub-menu li a {
  display: block !important; float: none !important; width: 100% !important;
  min-height: 40px; padding: 10px 15px !important; margin: 0 !important;
  background: #fff !important; color: #254432 !important;
  font-size: 13px !important; font-weight: 550; line-height: 1.4 !important;
  text-decoration: none !important; white-space: normal;
}
#site-header .navigation li.ctv-service-parent > ul.sub-menu li a:hover,
#site-header .navigation li.ctv-service-parent > ul.sub-menu li a:focus-visible {
  background: #eef7f0 !important; color: #125c31 !important;
}
@media (min-width: 866px) {
  #site-header .navigation li.ctv-service-parent:hover > ul.sub-menu { display: block !important; }
  #site-header .navigation li.ctv-service-parent > .ctv-submenu-toggle { color: #fff; }
}
/* CTA: both service contracting and materials sales are core offerings. */
body.home #page.index-page > .ctv-v2-action-band {
  width: 100% !important; margin: 9px 0 37px !important; padding: 0 !important;
  float: none !important; clear: both !important;
}
body.home #page.index-page > .ctv-v2-action-band > .container {
  width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
}
.ctv-v2-action-inner {
  position: relative; display: flex; justify-content: space-between; align-items: center;
  gap: 32px; min-height: 172px; padding: 29px clamp(23px,3.4vw,45px);
  background: linear-gradient(115deg,#164d31 0%,#20653c 76%,#287447 100%);
  border-radius: 12px; border: 1px solid #246c43; overflow: hidden; isolation: isolate;
  box-shadow: 0 6px 20px rgba(13,70,39,.09); box-sizing: border-box;
}
.ctv-v2-action-inner::after {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  top: -130px; right: 16%; width: 310px; height: 310px; border-radius: 50%;
  border: 46px solid rgba(245,211,129,.08);
}
.ctv-v2-action-copy { flex: 1 1 auto; min-width: 0; max-width: 650px; }
.ctv-v2-action-kicker {
  display: inline-flex; align-items: center; gap: 9px;
  color: #f5d996; font-size: 12px; line-height: 1.4; letter-spacing: .06em;
  font-weight: 750; margin: 0 0 9px; text-transform: none;
}
.ctv-v2-action-copy h2 {
  color: #fff !important; font-size: clamp(23px,2.3vw,30px) !important;
  font-weight: 760 !important; line-height: 1.25 !important;
  letter-spacing: -.015em; text-transform: none !important;
  margin: 0 0 9px !important; padding: 0; max-width: 635px;
}
.ctv-v2-action-copy p {
  color: #e3f0e7 !important; font-size: 14px; line-height: 1.55 !important;
  margin: 0 !important; max-width: 550px;
}
.ctv-v2-action-links { display: flex; flex-wrap: wrap; flex: 0 0 auto; gap: 10px; align-items: center; justify-content: flex-end; }
.ctv-v2-action-links a {
  display: inline-flex !important; align-items: center; justify-content: center;
  gap: 10px; min-height: 46px; padding: 11px 17px;
  border-radius: 7px; border: 1px solid rgba(255,255,255,.7);
  font-size: 13px; font-weight: 750; line-height: 1.35;
  text-align: center; text-decoration: none !important;
  white-space: nowrap; box-sizing: border-box;
}
.ctv-v2-action-links .ctv-v2-action-primary { color: #17492e !important; background: #fff; border-color: #fff; }
.ctv-v2-action-links .ctv-v2-action-secondary { color: #fff !important; background: rgba(255,255,255,.09); }
.ctv-v2-action-links .ctv-v2-action-primary:hover { color: #12452a !important; background: #e8f5eb; }
.ctv-v2-action-links .ctv-v2-action-secondary:hover { color: #164e32 !important; background: #fff; }
.ctv-v2-action-links a:focus-visible { outline: 3px solid #f3d489; outline-offset: 3px; }

/* Header dropdown: one aligned and accessible caret per parent.
   The legacy walker appends .toggle-caret; the service JS adds its own
   dedicated button. Hide the duplicate only for the service parent.
   Do not change any submenu item or its crawlable <a> link. */
#site-header #primary-navigation .navigation > ul > li#menu-item-1228,
#site-header #primary-navigation .navigation > ul > li.ctv-service-parent {
  position: relative !important;
}
#site-header #primary-navigation .navigation > ul > li#menu-item-1228 > a,
#site-header #primary-navigation .navigation > ul > li.ctv-service-parent > a {
  padding-right: 41px !important;
  box-sizing: border-box !important;
}
#site-header #primary-navigation .navigation > ul > li#menu-item-1228 > a::after,
#site-header #primary-navigation .navigation > ul > li.ctv-service-parent > a::after {
  display: none !important; content: none !important;
}
#site-header #primary-navigation .navigation li.ctv-service-parent > .toggle-caret {
  display: none !important;
}
#site-header #primary-navigation .navigation > ul > li#menu-item-1228 > .toggle-caret,
#site-header #primary-navigation .navigation > ul > li.ctv-service-parent > .ctv-submenu-toggle {
  position: absolute !important; top: 0 !important; right: 0 !important;
  bottom: auto !important; left: auto !important; z-index: 12;
  display: inline-flex !important; align-items: center !important;
  justify-content: center !important; width: 37px !important;
  height: 48px !important; min-width: 37px !important;
  padding: 0 !important; margin: 0 !important;
  border: 0 !important; border-left: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 0 !important; background: transparent !important;
  color: #fff !important; box-shadow: none !important;
  cursor: pointer; box-sizing: border-box !important;
}
#site-header #primary-navigation .navigation > ul > li#menu-item-1228 > .toggle-caret i {
  display: none !important;
}
#site-header #primary-navigation .navigation > ul > li#menu-item-1228 > .toggle-caret::after,
#site-header #primary-navigation .navigation > ul > li.ctv-service-parent > .ctv-submenu-toggle::after {
  content: '' !important; display: block !important;
  position: static !important; width: 7px !important; height: 7px !important;
  padding: 0 !important; margin: -3px 0 0 !important;
  border: 0 !important; border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  background: none !important; color: inherit !important;
  transform: rotate(45deg) !important;
}
#site-header #primary-navigation .navigation > ul > li.ctv-service-parent.ctv-open > .ctv-submenu-toggle::after {
  margin-top: 4px !important; transform: rotate(225deg) !important;
}
#site-header #primary-navigation .navigation > ul > li#menu-item-1228 > .toggle-caret:hover,
#site-header #primary-navigation .navigation > ul > li.ctv-service-parent > .ctv-submenu-toggle:hover {
  background: rgba(255,255,255,.12) !important;
}
#site-header #primary-navigation .navigation > ul > li#menu-item-1228 > .toggle-caret:focus-visible,
#site-header #primary-navigation .navigation > ul > li.ctv-service-parent > .ctv-submenu-toggle:focus-visible {
  outline: 2px solid #f4d992 !important; outline-offset: -3px !important;
}
@media (max-width:865px) {
  #site-header #primary-navigation .navigation > ul > li#menu-item-1228 > .toggle-caret,
  #site-header #primary-navigation .navigation > ul > li.ctv-service-parent > .ctv-submenu-toggle {
    height: 44px !important;
  }
}

/* Service + commerce section above the footer. */
.ctv-v2-trust-bar {
  padding: 44px 0 52px;
  background: linear-gradient(180deg,#f4f8f4 0%,#ecf4ed 100%);
  border-top: 1px solid #e1ebe3;
  border-bottom: 1px solid #dbe8dd;
}
.ctv-v2-trust-wrap { width: min(1200px,calc(100% - 40px)); margin: 0 auto; }
.ctv-v2-trust-heading { text-align: center; margin: 0 auto 25px; }
.ctv-v2-trust-kicker {
  color: #227248; font-size: 12px; font-weight: 750; letter-spacing: .065em;
  margin: 0 0 8px; text-transform: uppercase;
}
.ctv-v2-trust-heading h2 {
  color: #153e28 !important; font-size: clamp(23px,2.5vw,29px) !important;
  line-height: 1.3 !important; font-weight: 800 !important;
  margin: 0 0 9px !important; text-align: center;
}
.ctv-v2-trust-heading > p:last-child { margin: 0; color: #5b7261; font-size: 14px; line-height: 1.6; }
.ctv-v2-trust-inner {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 20px; width: 100%; margin: 0; padding: 0;
}
.ctv-v2-trust-inner > a.ctv-v2-trust-item {
  position: relative; display: flex !important; align-items: flex-start;
  gap: 15px; width: 100%; min-width: 0; min-height: 185px;
  padding: 23px 20px 20px; background: #fff; color: #183c29;
  border: 1px solid #dbe8df; border-radius: 12px;
  box-shadow: 0 4px 18px rgba(24,73,42,.045);
  text-decoration: none !important; box-sizing: border-box;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ctv-v2-trust-inner > a.ctv-v2-trust-item::before {
  content: ''; position: absolute; inset: 0 0 auto; height: 3px;
  background: #207448; border-radius: 12px 12px 0 0;
}
.ctv-v2-trust-inner > a.ctv-v2-trust-item:nth-child(2)::before { background: #d9a847; }
.ctv-v2-trust-inner > a.ctv-v2-trust-item:nth-child(3)::before { background: #3b8c77; }
.ctv-v2-trust-inner > a.ctv-v2-trust-item:hover,
.ctv-v2-trust-inner > a.ctv-v2-trust-item:focus-visible {
  transform: translateY(-3px); border-color: #b8d5c1;
  box-shadow: 0 10px 24px rgba(24,73,42,.1);
}
.ctv-v2-trust-inner > a.ctv-v2-trust-item:focus-visible { outline: 3px solid #a7d6ae; outline-offset: 3px; }
.ctv-v2-trust-icon {
  display: inline-flex !important; align-items: center; justify-content: center;
  flex: 0 0 49px; width: 49px; height: 49px;
  border-radius: 12px; color: #156538; background: #e6f3e9; font-size: 19px;
}
.ctv-v2-trust-item:nth-child(2) .ctv-v2-trust-icon { color: #906816; background: #fbf1d6; }
.ctv-v2-trust-item:nth-child(3) .ctv-v2-trust-icon { color: #196858; background: #e1f2ec; }
.ctv-v2-trust-content { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; flex: 1; }
.ctv-v2-trust-content > .ctv-v2-trust-tag {
  display: block; font-size: 10px; letter-spacing: .065em; text-transform: uppercase;
  color: #4b8161; font-weight: 800; margin: 0 0 4px;
}
.ctv-v2-trust-content > strong { color: #153b28 !important; font-size: 17px; font-weight: 760; line-height: 1.35; margin: 0 0 9px; }
.ctv-v2-trust-content > .ctv-v2-trust-description {
  color: #5a6c60; font-size: 13px; line-height: 1.6; margin: 0 0 15px; font-weight: 400;
}
.ctv-v2-trust-content > .ctv-v2-trust-more {
  display: inline-flex; align-items: center; gap: 8px; margin-top: auto;
  color: #156a3c; font-size: 12px; font-weight: 750; line-height: 1.4;
}
@media (max-width: 1100px) {
  .ctv-v2-action-inner { gap: 22px; }
  .ctv-v2-action-links { flex-direction: column; align-items: stretch; }
  .ctv-v2-action-links a { min-width: 155px; }
}
@media (max-width: 865px) {
  .ctv-v2-action-inner { flex-direction: column; align-items: flex-start; gap: 21px; }
  .ctv-v2-action-links { flex-direction: row; justify-content: flex-start; }
  .ctv-v2-trust-inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  body.home #page.index-page > .ctv-v2-action-band { margin: 0 0 28px !important; }
  .ctv-v2-action-inner { padding: 25px 21px; gap: 20px; }
  .ctv-v2-action-copy h2 { font-size: 24px !important; }
  .ctv-v2-action-links { width: 100%; }
  .ctv-v2-action-links a { min-width: 0; flex: 1 1 120px; padding-inline: 10px; }
  .ctv-v2-trust-bar { padding: 33px 0 38px; }
  .ctv-v2-trust-wrap { width: calc(100% - 28px); }
  .ctv-v2-trust-heading { margin-bottom: 21px; }
  .ctv-v2-trust-inner { grid-template-columns: 1fr; gap: 13px; width: 100%; }
  .ctv-v2-trust-inner > a.ctv-v2-trust-item { min-height: 0; padding: 20px 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .ctv-v2-trust-inner > a.ctv-v2-trust-item { transition: none; }
}
/* Footer: transform legacy float columns into consistent and readable grid. */
#site-footer { background: #123824 !important; color: #e6f0e9; }
#site-footer > .container { width: min(1200px,calc(100% - 40px)) !important; max-width: 1200px !important; margin: 0 auto !important; }
#site-footer .footer-icons { float: none !important; width: 100% !important; padding: 25px 0 14px; margin: 0 !important; }
#site-footer .footer-icons .social-icons, #site-footer .footer-icons .social-icons-inner { float: none !important; width: auto !important; }
#site-footer .social-icons-inner { display: flex; gap: 8px; justify-content: flex-start; flex-wrap: wrap; }
#site-footer .social-icons-inner a { border-radius: 6px !important; }
#site-footer .first-footer-widgets {
  display: grid !important; grid-template-columns: 1.3fr 1fr 1fr 1fr !important;
  gap: clamp(18px,2.4vw,34px) !important; width: 100% !important;
  margin: 0 !important; padding: 27px 0 37px !important;
  border-top: 1px solid rgba(255,255,255,.14); box-sizing: border-box;
}
#site-footer .first-footer-widgets .f-widget {
  display: block !important; float: none !important;
  width: 100% !important; min-width: 0 !important; max-width: none !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  box-sizing: border-box;
}
#site-footer .first-footer-widgets .widget { width: 100% !important; margin: 0 !important; padding: 0 !important; }
#site-footer .first-footer-widgets .widget-title {
  background: transparent !important; color: #fff !important; border: 0 !important;
  padding: 0 0 14px !important; margin: 0 0 5px !important;
  font-size: 14px !important; font-weight: 750 !important;
  line-height: 1.4 !important; text-transform: none;
}
#site-footer .first-footer-widgets .textwidget,
#site-footer .first-footer-widgets .textwidget p {
  color: #d2e3d8 !important; font-size: 13px !important; line-height: 1.8 !important;
  overflow-wrap: break-word !important;
}
#site-footer .first-footer-widgets .textwidget p { margin: 0 0 16px !important; }
#site-footer .first-footer-widgets .textwidget ul { padding: 0 !important; margin: 0 !important; list-style: none !important; }
#site-footer .first-footer-widgets .textwidget li { padding: 5px 0 !important; margin: 0 !important; }
#site-footer .first-footer-widgets .textwidget a {
  color: #e0efe5 !important; font-size: 13px !important; line-height: 1.65 !important;
  text-decoration: none !important;
}
#site-footer .first-footer-widgets .textwidget a:hover,
#site-footer .first-footer-widgets .textwidget a:focus-visible { color: #a5e4b9 !important; text-decoration: underline !important; }
#site-footer .ctv-v2-footer-about .textwidget .ctv-v2-footer-about-link {
  display: inline-flex; align-items: center; gap: 9px;
  border-bottom: 1px solid rgba(202,239,211,.4); padding-bottom: 3px;
  font-weight: 700; color: #d6f3df !important;
}
#site-footer .copyrights {
  float: none !important; clear: both; width: 100% !important;
  padding: 18px 0 !important; border-top: 1px solid rgba(255,255,255,.14);
}
#site-footer .copyrights #copyright-note { color: #c2d5ca; font-size: 12px; }
#site-footer .copyrights #copyright-note a {
  color: #e4f1e8 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
body.home .product-wrap .product-title a {
  color: #175b32 !important;
}
body.home .product-wrap .product-title a:hover,
body.home .product-wrap .product-title a:focus-visible {
  color: #103f23 !important;
  text-decoration: underline;
}
@media (max-width: 1050px) {
  body.home #page.index-page > .ctv-v2-hero-grid { grid-template-columns: minmax(235px,260px) minmax(0,1fr) !important; gap: 16px !important; }
  .ctv-v2-slide { grid-template-columns: minmax(0,51%) minmax(0,49%); }
  .ctv-v2-slide-copy { padding-inline: 23px; }
  .ctv-v2-slide-copy h2 { font-size: clamp(24px,2.7vw,30px) !important; }
  body.home #page.index-page .featured-blog-posts-container { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  #site-footer .first-footer-widgets { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 28px !important; }
}
@media (max-width: 865px) {
  body.home #page.index-page > .ctv-v2-hero-grid { display: flex !important; flex-direction: column !important; gap: 15px !important; }
  body.home #page.index-page .ctv-v2-hero-grid .ctv-service-menu { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.home #page.index-page .ctv-v2-hero-grid .ctv-service-item:nth-child(odd) { border-right: 1px solid #e9eee9 !important; }
  .ctv-v2-carousel, .ctv-v2-carousel-slides { min-height: 410px; }
  .ctv-v2-slide { min-height: 410px; }
  .ctv-v2-slide-media, .ctv-v2-slide-media img { min-height: 410px; }
  #site-header .navigation li.ctv-service-parent > ul.sub-menu {
    position: static !important; display: none !important; width: 100% !important;
    min-width: 0 !important; max-width: 100% !important;
    border: 0 !important; border-radius: 0; box-shadow: none !important;
    margin: 0 !important; padding: 0 !important;
  }
  #site-header .navigation li.ctv-service-parent.ctv-open > ul.sub-menu { display: block !important; }
  #site-header .navigation li.ctv-service-parent > .ctv-submenu-toggle {
    height: 43px !important; right: 4px; color: #1a6339 !important;
  }
  #site-header .navigation li.ctv-service-parent > ul.sub-menu li a { padding-left: 25px !important; background: #f4f9f5 !important; }
}
@media (max-width: 640px) {
  body.home #page.index-page { width: calc(100% - 28px) !important; }
  body.home #page.index-page > .ctv-v2-hero-grid { margin-bottom: 26px !important; }
  body.home #page.index-page .ctv-v2-hero-grid .ctv-service-heading { min-height: 57px !important; }
  body.home #page.index-page .ctv-v2-hero-grid .ctv-service-heading h2 { font-size: 16px !important; }
  body.home #page.index-page .ctv-v2-hero-grid .ctv-service-item a { font-size: 12px !important; padding: 10px 9px !important; min-height: 47px !important; }
  .ctv-v2-carousel { min-height: 550px; }
  .ctv-v2-carousel-slides { min-height: 550px; }
  .ctv-v2-slide { display: none !important; grid-template-columns: 1fr !important; grid-template-rows: 220px auto; min-height: 550px; }
  .ctv-v2-slide.is-active { display: grid !important; }
  .ctv-v2-slide-media { grid-row: 1; min-height: 220px; height: 220px; }
  .ctv-v2-slide-media img { min-height: 220px; height: 220px !important; object-position: 55% center; }
  .ctv-v2-slide-copy {
    grid-row: 2; padding: 20px 21px 70px; justify-content: flex-start;
  }
  .ctv-v2-slide-copy .ctv-v2-eyebrow { margin-bottom: 8px !important; }
  .ctv-v2-slide-copy h2 { margin-bottom: 9px !important; font-size: clamp(24px,5.7vw,29px) !important; }
  .ctv-v2-slide-description { margin-bottom: 9px !important; font-size: 13px !important; line-height: 1.5 !important; }
  .ctv-v2-slide-points { margin-bottom: 13px !important; }
  .ctv-v2-slide-points li { font-size: 12px; margin-bottom: 5px !important; }
  .ctv-v2-carousel-controls { padding: 0 12px 0 19px; bottom: 11px; }
  .ctv-v2-carousel-arrows button { width: 34px; height: 34px; min-width: 34px; min-height: 34px; }
  body.home #page.index-page .featured-blog-posts-container { grid-template-columns: 1fr !important; }
  .ctv-v2-trust-inner { width: calc(100% - 28px); grid-template-columns: 1fr; gap: 17px; }
  #site-footer > .container { width: calc(100% - 28px) !important; }
  #site-footer .first-footer-widgets { grid-template-columns: 1fr !important; gap: 24px !important; padding: 24px 0 30px !important; }
}
@media (prefers-reduced-motion:reduce) {
  .ctv-v2-carousel-dot { transition: none; }
}
