 /* ===== SECTION: hero_services ===== */
 .sec_hero_sv {
     background-image: radial-gradient(ellipse at 60% 40%, #d1fae5 0%, #f0fdf4 60%, #ffffff 100%);
 }

 .hero_services {
     position: relative;
     overflow: hidden;
     margin: 0 auto;
 }

 .hero_services .hs-container {
     margin: 0 auto;
     display: grid;
     grid-template-columns: 1fr;
     align-items: center;
     column-gap: 3rem;
     padding: 5rem 0rem;
 }

 /* ---- LEFT COLUMN ---- */
 .hero_services .hs-left {
     display: flex;
     flex-direction: column;
     gap: 1rem;
 }

 /* Badge */
 .hero_services .hs-badge {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     border-radius: 9999px;
     border: 1px solid rgba(34, 197, 94, 0.2);
     background: rgba(220, 252, 231, 0.6);
     padding: 0.375rem 1rem;
     font-size: 0.75rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.18em;
     color: #15803d;
     width: fit-content;
 }

 .hero_services .hs-badge svg {
     width: 0.875rem;
     height: 0.875rem;
     flex-shrink: 0;
 }

 /* Heading */
 .hero_services .hs-heading {
     font-size: 46px;
     font-weight: 500;
     line-height: 1.05;
     color: #111827;
     text-wrap: balance;
     margin: 0;
 }

 .hero_services .hs-heading em {
     font-style: italic;
     color: #16a34a;
 }

 /* Description */
 .hero_services .hs-description {
     max-width: 36rem;
     font-size: 1.125rem;
     line-height: 1.75;
     color: #6b7280;
     margin: 0;
 }

 /* Checklist */
 .hero_services .hs-checklist {
     display: flex;
     flex-direction: column;
     gap: 0.75rem;
     margin: 0;
 }

 .hero_services .hs-checklist li {
     display: flex;
     align-items: flex-start;
     gap: 0.75rem;
 }

 .hero_services .hs-checklist li:last-child {
     margin: 0;
 }

 .hero_services .hs-checklist li svg {
     margin-top: 0.125rem;
     width: 1.25rem;
     height: 1.25rem;
     flex-shrink: 0;
     color: #16a34a;
 }

 .hero_services .hs-checklist li span {
     font-size: 0.9375rem;
     color: rgba(17, 24, 39, 0.85);
 }

 /* CTA buttons */
 .hero_services .hs-cta-group {
     display: flex;
     flex-wrap: wrap;
     align-items: center;
     gap: 1rem;
     padding-top: 0.5rem;
 }

 .hero_services .hs-btn-primary {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     border-radius: 9999px;
     background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
     padding: 0.875rem 1.75rem;
     font-size: 0.875rem;
     font-weight: 600;
     color: #ffffff;
     box-shadow: 0 4px 14px rgba(22, 163, 74, 0.35);
     transition: transform 0.2s;
 }

 .hero_services .hs-btn-primary:hover {
     transform: translateY(-2px);
 }

 .hero_services .hs-btn-primary svg {
     width: 1rem;
     height: 1rem;
 }

 .hero_services .hs-btn-link {
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     font-size: 0.875rem;
     font-weight: 600;
     color: #15803d;
     transition: color 0.2s;
 }

 .hero_services .hs-btn-link:hover {
     color: #16a34a;
 }

 .hero_services .hs-btn-link svg {
     width: 1rem;
     height: 1rem;
     transition: transform 0.2s;
 }

 .hero_services .hs-btn-link:hover svg {
     transform: translateX(2px);
 }

 /* ---- RIGHT COLUMN ---- */
 .hero_services .hs-right {
     position: relative;
 }

 .hero_services .hs-right-glow {
     position: absolute;
     inset: -1.5rem;
     z-index: -1;
     border-radius: 3rem;
     background: rgba(220, 252, 231, 0.6);
     filter: blur(2rem);
 }

 .hero_services .hs-image-wrap {
     overflow: hidden;
     border-radius: 2.5rem 0.5rem 2.5rem 6rem;
     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
     outline: 1px solid rgba(34, 197, 94, 0.1);
 }

 .hero_services .hs-image-wrap img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 /* Floating badge */
 .hero_services .hs-floating-badge {
     display: none;
     position: absolute;
     bottom: -1.5rem;
     left: -1.5rem;
     border-radius: 1rem;
     background: #ffffff;
     padding: 1rem 1.25rem;
     box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
     outline: 1px solid #e5e7eb;
 }

 .hero_services .hs-floating-badge-inner {
     display: flex;
     align-items: center;
     gap: 0.75rem;
 }

 .hero_services .hs-badge-icon {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 2.5rem;
     height: 2.5rem;
     border-radius: 0.75rem;
     background: #dcfce7;
 }

 .hero_services .hs-badge-icon svg {
     width: 1.25rem;
     height: 1.25rem;
     color: #15803d;
 }

 .hero_services .hs-badge-label {
     font-size: 0.75rem;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: #6b7280;
     margin: 0;
 }

 .hero_services .hs-badge-value {
     font-size: 0.875rem;
     font-weight: 600;
     color: #111827;
     margin: 0;
 }

 /* ===== RESPONSIVE ===== */
 @media (min-width: 640px) {
     .hero_services .hs-floating-badge {
         display: block;
     }
 }

 @media (min-width: 1024px) {
     .hero_services .hs-container {
         grid-template-columns: 1fr 1fr;
         padding-top: 7rem;
         padding-bottom: 7rem;
     }
 }

 /**/
 /* ===== SECTION: list_services ===== */
 .list_services {
     padding: 6rem 1.5rem;
     margin: 0 auto;
 }

 .list_services .ls-container {
     margin-left: auto;
     margin-right: auto;
 }

 /* Header */
 .list_services .ls-header {
     margin-left: auto;
     margin-right: auto;
     margin-bottom: 5rem;
     text-align: center;
 }

 .list_services .ls-header .ls-eyebrow {
     font-size: 0.75rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.25em;
     color: rgba(60, 60, 60, 0.8);
 }

 .list_services .ls-header .ls-eyebrow .ls-dot {
     color: #3a7c4c;
 }

 .list_services .ls-header h2 {
     margin-top: 1rem;
     font-size: 2.25rem;
     font-weight: 500;
     line-height: 1.25;
     color: #111;
     text-transform: capitalize;
 }

 @media (min-width: 640px) {
     .list_services .ls-header h2 {
         font-size: 3rem;
     }
 }

 .list_services .ls-header .ls-divider {
     margin: 1.5rem auto 0;
     height: 2px;
     width: 4rem;
     border-radius: 9999px;
     background: #3a7c4c;
 }

 /* Articles list */
 .list_services .ls-articles {
     display: flex;
     flex-direction: column;
     gap: 4rem;
 }

 /* Single article grid */
 .list_services .ls-article {
     display: grid;
     grid-template-columns: 1fr;
     align-items: center;
     gap: 2.5rem;
 }

 @media (min-width: 1024px) {
     .list_services .ls-article {
         grid-template-columns: repeat(12, 1fr);
         gap: 4rem;
     }

     .list_services .ls-article .ls-article-text {
         grid-column: span 6;
     }

     .list_services .ls-article .ls-article-image {
         grid-column: span 6;
     }

     /* Reverse layout for even articles */
     .list_services .ls-article--reverse .ls-article-text {
         order: 2;
     }

     .list_services .ls-article--reverse .ls-article-image {
         order: 1;
     }
 }

 /* Article text block */
 .list_services .ls-article-header {
     display: flex;
     align-items: flex-start;
     gap: 1.25rem;
 }

 .list_services .ls-icon-wrap {
     flex-shrink: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 4rem;
     height: 4rem;
     border-radius: 1rem;
     background: #eaf3ec;
     box-shadow: inset 0 0 0 1px rgba(58, 124, 76, 0.15);
 }

 .list_services .ls-icon-wrap svg {
     width: 1.75rem;
     height: 1.75rem;
     color: #1f5c33;
     stroke: #1f5c33;
 }

 .list_services .ls-service-label {
     font-size: 0.75rem;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 0.1em;
     color: #888;
     margin-bottom: 0;
 }

 .ls-article-body p {
     margin: 0;
 }

 .list_services .ls-service-title {
     margin: 0;
     font-size: 1.5rem;
     font-weight: 500;
     text-transform: uppercase;
     letter-spacing: 0.05em;
     color: #2c5f3a;
 }

 .list_services .ls-article-body {
     margin-top: 1rem;
     display: flex;
     flex-direction: column;
     gap: 1rem;
     font-size: 0.97rem;
     line-height: 1.7;
     color: rgba(26, 26, 26, 0.8);
 }

 /* Highlighted quote block */
 .list_services .ls-highlight {
     border-left: 4px solid #3a7c4c;
     border-radius: 0.75rem;
     background: color-mix(in oklab, oklch(0.94 0.05 145 / 1) 50%, transparent);
     padding: 1rem 1.25rem;
     color: rgba(26, 26, 26, 0.9);
 }

 /* Image block */
 .list_services .ls-img-wrap {
     overflow: hidden;
     border-radius: 1.5rem;
     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
     outline: 1px solid rgba(0, 0, 0, 0.08);
 }

 .list_services .ls-img-wrap img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.7s ease;
 }

 .list_services .ls-img-wrap:hover img {
     transform: scale(1.03);
 }

 /* ===== #why_choose ===== */
 .sec_why_chos {
     background-color: rgba(240, 248, 240, 0.6);
 }

 #why_choose {
     background-color: rgba(240, 248, 240, 0.6);
     padding: 96px 0px;
     margin: 0 auto;
 }

 #why_choose .why_choose__container {
     margin-left: auto;
     margin-right: auto;
 }

 #why_choose .why_choose__header {
     margin-left: auto;
     margin-right: auto;
     margin-bottom: 64px;
     max-width: 42rem;
     text-align: center;
 }

 #why_choose .why_choose__eyebrow {
     font-size: 0.75rem;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 0.25em;
     color: #2d7a3a;
     margin: 0;
 }

 #why_choose .why_choose__title {
     margin-top: 16px;
     font-size: clamp(2rem, 5vw, 3rem);
     font-weight: 500;
     line-height: 1.25;
     text-wrap: balance;
     color: #1a1a1a;
     margin-bottom: 0;
 }

 #why_choose .why_choose__divider {
     margin-left: auto;
     margin-right: auto;
     margin-top: 24px;
     height: 2px;
     width: 64px;
     border-radius: 9999px;
     background-color: #2d7a3a;
 }

 #why_choose .why_choose__grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 24px;
 }

 @media (min-width: 768px) {
     #why_choose .why_choose__grid {
         grid-template-columns: repeat(3, 1fr);
     }
 }

 #why_choose .why_choose__card {
     position: relative;
     overflow: hidden;
     border-radius: 24px;
     background-color: #ffffff;
     padding: 32px;
     box-shadow: 0 0 0 1px #e5e7eb;
     transition: transform 0.3s ease, box-shadow 0.3s ease;
 }

 #why_choose .why_choose__card:hover {
     transform: translateY(-4px);
     box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
 }

 #why_choose .why_choose__icon-wrap {
     margin-bottom: 24px;
     display: flex;
     height: 56px;
     width: 56px;
     align-items: center;
     justify-content: center;
     border-radius: 16px;
     background: linear-gradient(135deg, #2d7a3a, #56b368);
     color: #ffffff;
     box-shadow: 0 4px 12px rgba(45, 122, 58, 0.35);
 }

 #why_choose .why_choose__icon-wrap svg {
     width: 24px;
     height: 24px;
 }

 #why_choose .why_choose__card-title {
     font-size: 1.5rem;
     font-weight: 500;
     color: #1a1a1a;
     margin: 0;
 }

 #why_choose .why_choose__card-desc {
     margin-top: 12px;
     font-size: 0.9375rem;
     line-height: 1.7;
     color: #6b7280;
     margin-bottom: 0;
 }

 #why_choose .why_choose__card-glow {
     position: absolute;
     bottom: -40px;
     right: -40px;
     height: 128px;
     width: 128px;
     border-radius: 9999px;
     background-color: rgba(45, 122, 58, 0.08);
     opacity: 0;
     transition: opacity 0.3s ease;
     pointer-events: none;
 }

 #why_choose .why_choose__card:hover .why_choose__card-glow {
     opacity: 1;
 }

 /* ===== #contact ===== */
 .sec_box_contact {
     background: linear-gradient(135deg, #2d6a4f 0%, #40916c 50%, #52b788 100%);
 }

 .sec_box_contact #contact {
     position: relative;
     overflow: hidden;
     padding: 80px 0px;
     color: #ffffff;
     margin: 0 auto;
 }

 #contact .contact__dot-pattern {
     pointer-events: none;
     position: absolute;
     inset: 0;
     opacity: 0.2;
     background-image: radial-gradient(circle at 1px 1px, white 1px, transparent 0);
     background-size: 24px 24px;
 }

 #contact .contact__inner {
     margin: 0 auto;
     display: grid;
     grid-template-columns: 1fr;
     align-items: center;
     column-gap: 48px;
 }

 @media (min-width: 1024px) {
     #contact .contact__inner {
         grid-template-columns: 1fr 1fr;
     }
 }

 /* --- Content left --- */
 #contact .contact__heading {
     font-size: clamp(2rem, 5vw, 3rem);
     font-weight: 500;
     line-height: 1.2;
     text-wrap: balance;
     margin: 0;
     color: #ffffff;
 }

 #contact .contact__desc {
     margin: 20px 0 0;
     max-width: 560px;
     font-size: 1rem;
     line-height: 1.7;
     color: rgba(255, 255, 255, 0.85);
 }

 #contact .contact__btn {
     margin-top: 32px;
     display: inline-flex;
     align-items: center;
     gap: 8px;
     border-radius: 9999px;
     background: #f4a261;
     padding: 14px 28px;
     font-size: 0.875rem;
     font-weight: 600;
     color: #1a1a1a;
     text-decoration: none;
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
     transition: transform 0.2s ease;
 }

 #contact .contact__btn:hover {
     transform: translateY(-2px);
 }

 #contact .contact__btn-icon {
     width: 16px;
     height: 16px;
     flex-shrink: 0;
 }

 /* --- Image right --- */
 #contact .contact__image-wrapper {
     overflow: hidden;
     border-radius: 24px;
     box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
     outline: 1px solid rgba(255, 255, 255, 0.2);
 }

 #contact .contact__image {
     display: block;
     width: 100%;
     height: 100%;
     object-fit: cover;
 }