:root {
    --ets-navy: #121a3a;
    --ets-navy-2: #182143;
    --ets-green: #009d4f;
    --ets-green-soft: #dcf3e5;
    --ets-text: #22252b;
    --ets-muted: #656a73;
    --ets-line: #e7e8eb;
    --ets-bg: #f7f7f7;
}
body.ets-services-template { overflow-x: hidden; }
.ets-services-app, .ets-services-app * { box-sizing: border-box; }
.ets-services-app { color: var(--ets-text); font-family: inherit; line-height: 1.55; background: #fff; }
.ets-services-app img { display: block; max-width: 100%; }
.ets-services-app a { text-decoration: none; }
.ets-container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.ets-page-banner { position: relative; overflow: hidden; padding: 52px 0 58px; color: #fff; background: var(--ets-navy); }
.ets-page-banner::after, .ets-bottom-cta::after { content: ""; position: absolute; right: 4%; top: 18px; width: 260px; height: 150px; opacity: .12; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 180' fill='none' stroke='%23a9b1ce' stroke-width='1'%3E%3Cpath d='M20 165V70l70-48 70 48v95M160 165V90l45-31 55 37v69M77 165v-55h30v55M198 165v-48h27v48'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: contain; }
.ets-page-banner .ets-container { position: relative; z-index: 2; }
.ets-page-banner h1 { margin: 13px 0 0; color: #fff; font-size: clamp(34px, 4vw, 52px); line-height: 1.08; letter-spacing: -.03em; }
.ets-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: #00bd69; font-size: 13px; }
.ets-breadcrumb a { color: #b8bfd2; }
.ets-breadcrumb span:not(:last-child) { color: #7f87a3; }
.ets-archive-main { padding: 86px 0 90px; background: #f7f7f7; }
.ets-intro-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 90px; align-items: end; margin-bottom: 54px; }
.ets-kicker { display: inline-block; padding: 5px 11px; color: #168354; background: var(--ets-green-soft); font-size: 11px; line-height: 1; letter-spacing: .16em; font-weight: 800; }
.ets-intro-grid h2, .ets-section-heading h2, .ets-service-details > h2, .ets-bottom-cta h2, .ets-image-cta h2 { margin: 18px 0 0; color: var(--ets-text); font-size: clamp(31px, 3vw, 45px); line-height: 1.18; letter-spacing: -.035em; }
.ets-intro-copy p { margin: 0 0 17px; color: #555b65; font-size: 16px; }
.ets-text-link { display: inline-flex; gap: 8px; align-items: center; color: #25292f; font-size: 13px; font-weight: 750; }
.ets-text-link:hover { color: var(--ets-green); }
.ets-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ets-service-card { background: #fff; border: 1px solid #ededed; transition: transform .25s ease, box-shadow .25s ease; }
.ets-service-card:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(20, 26, 50, .09); }
.ets-card-image { position: relative; overflow: hidden; display: block; aspect-ratio: 1.64 / 1; margin: 15px 15px 0; background: #ddd; }
.ets-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ets-service-card:hover .ets-card-image img { transform: scale(1.035); }
.ets-card-icon { position: absolute; right: 0; bottom: 0; display: grid; place-items: center; width: 52px; height: 52px; color: #fff; background: #191919; border: 3px solid #fff; }
.ets-card-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ets-card-icon .ets-service-card-icon-image { display: block; width: 34px; height: 34px; object-fit: contain; opacity: 1 !important; filter: brightness(0) invert(1) !important; mix-blend-mode: normal !important; transform: none !important; transition: none; }
.ets-card-content { padding: 18px 17px 22px; }
.ets-card-content h3 { margin: 0 0 8px; font-size: 18px; line-height: 1.25; }
.ets-card-content h3 a { color: #24272d; }
.ets-card-content p { min-height: 82px; margin: 0 0 14px; color: #626873; font-size: 13px; }
.ets-process-section { padding: 100px 0 112px; background: #fff; }
.ets-section-heading.ets-centered { max-width: 710px; margin: 0 auto 62px; text-align: center; }
.ets-section-heading h2 { max-width: 650px; margin-left: auto; margin-right: auto; }
.ets-section-heading p { max-width: 600px; margin: 17px auto 0; color: #646a73; }
.ets-process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 42px; position: relative; }
.ets-process-grid::before { content: ""; position: absolute; z-index: 0; top: 34px; left: 13%; right: 13%; height: 1px; border-top: 1px dashed #cfd3da; }
.ets-process-step { position: relative; z-index: 1; text-align: center; }
.ets-step-icon { position: relative; display: grid; place-items: center; width: 68px; height: 68px; margin: 0 auto 19px; color: #16191f; background: #fff; border: 1px solid #dfe1e5; border-radius: 50%; }
.ets-step-icon.is-dark { color: #fff; background: #181818; border-color: #181818; }
.ets-step-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ets-step-icon > span { position: absolute; top: -6px; right: -2px; display: grid; place-items: center; width: 22px; height: 22px; color: #fff; background: var(--ets-green); border: 2px solid #fff; border-radius: 50%; font-size: 10px; font-weight: 800; }
.ets-process-step h3 { margin: 0 0 8px; font-size: 17px; }
.ets-process-step p { margin: 0 auto; max-width: 220px; color: #646a73; font-size: 13px; }
.ets-image-cta { position: relative; overflow: hidden; min-height: 320px; padding: 62px 0; color: #fff; background: #262d4e var(--ets-cta-bg) center / cover no-repeat; }
.ets-image-cta::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,26,58,.91) 0%, rgba(18,26,58,.78) 48%, rgba(18,26,58,.55) 100%); }
.ets-image-cta .ets-container { position: relative; z-index: 1; }
.ets-image-cta-content { max-width: 510px; }
.ets-kicker-dark { color: #fff; background: rgba(255,255,255,.12); }
.ets-image-cta h2 { color: #fff; max-width: 500px; }
.ets-image-cta p { max-width: 520px; margin: 18px 0 24px; color: #e1e5ef; }
.ets-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 47px; padding: 0 23px; color: #fff !important; background: var(--ets-green); border: 1px solid var(--ets-green); font-size: 13px; font-weight: 750; transition: transform .2s ease, filter .2s ease; }
.ets-button:hover { transform: translateY(-1px); filter: brightness(.93); }

.ets-single-main { padding: 54px 0 92px; background: #fff; }
.ets-single-intro { max-width: 900px; margin: 0 0 35px; color: #444950; font-size: 17px; line-height: 1.72; }
.ets-wide-image { overflow: hidden; margin: 0 0 54px; aspect-ratio: 2.75 / 1; background: #e5e5e5; }
.ets-wide-image img { width: 100%; height: 100%; object-fit: cover; }
.ets-single-layout { display: grid; grid-template-columns: 265px minmax(0, 1fr); gap: 48px; align-items: start; }
.ets-service-sidebar { position: sticky; top: 28px; }
.ets-services-nav { padding: 12px; background: #f5f5f5; }
.ets-nav-label { display: block; padding: 4px 14px 11px; color: #8a8e96; font-size: 10px; letter-spacing: .15em; font-weight: 800; }
.ets-services-nav a { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin-top: 3px; padding: 0 15px; color: #34383f; background: #fff; font-size: 13px; transition: background .2s ease, color .2s ease; }
.ets-services-nav a:hover, .ets-services-nav a.is-active { color: #fff; background: var(--ets-green); }
.ets-services-nav b { font-size: 11px; }
.ets-sidebar-cta { position: relative; overflow: hidden; margin-top: 18px; padding: 25px 24px 28px; color: #fff; background: var(--ets-navy); }
.ets-sidebar-cta::after { content: ""; position: absolute; right: -18px; bottom: -23px; width: 125px; height: 95px; opacity: .1; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 100' fill='none' stroke='%23ffffff'%3E%3Cpath d='M0 100V45l45-32 45 32v55M90 100V60l27-20 33 23v37'/%3E%3C/svg%3E"); }
.ets-sidebar-cta > * { position: relative; z-index: 1; }
.ets-sidebar-cta h3 { margin: 0 0 8px; color: #fff; font-size: 20px; }
.ets-sidebar-cta p { margin: 0 0 13px; color: #bec4d5; font-size: 12px; }
.ets-phone-link { display: block; margin-bottom: 14px; color: #fff !important; font-size: 17px; font-weight: 800; }
.ets-sidebar-cta .ets-button { min-height: 40px; padding: 0 17px; font-size: 11px; }
.ets-service-details > h2 { margin: 15px 0 25px; }
.ets-detail-boxes { display: grid; gap: 19px; }
.ets-detail-box { padding: 25px 28px 27px; border: 1px solid var(--ets-line); background: #fff; box-shadow: 0 2px 10px rgba(10, 20, 40, .015); }
.ets-detail-box h3 { margin: 0 0 5px; font-size: 20px; }
.ets-detail-box > p { margin: 0 0 18px; color: #666c75; font-size: 13px; }
.ets-detail-box ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 38px; margin: 0; padding: 0; list-style: none; }
.ets-detail-box li { display: flex; align-items: flex-start; gap: 9px; color: #4f555d; font-size: 13px; }
.ets-detail-box li > span { flex: 0 0 18px; display: grid; place-items: center; width: 18px; height: 18px; margin-top: 1px; color: #39a875; background: #e0f4e9; border-radius: 50%; font-size: 10px; font-weight: 900; }
.ets-bottom-cta { position: relative; overflow: hidden; padding: 68px 0; color: #fff; background: var(--ets-navy); }
.ets-bottom-cta::after { top: 24px; right: 12%; width: 240px; height: 160px; }
.ets-bottom-cta-inner { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.ets-bottom-cta h2 { max-width: 560px; margin-top: 0; color: #fff; }
.ets-bottom-cta p { max-width: 600px; margin: 13px 0 0; color: #bdc4d7; }
.ets-bottom-actions { display: flex; flex-wrap: wrap; gap: 13px; justify-content: flex-end; }
.ets-button-outline { background: transparent; border-color: #5d6686; }

@media (max-width: 980px) {
    .ets-intro-grid { grid-template-columns: 1fr; gap: 24px; }
    .ets-service-grid { grid-template-columns: repeat(2, 1fr); }
    .ets-process-grid { grid-template-columns: repeat(2, 1fr); gap: 45px 25px; }
    .ets-process-grid::before { display: none; }
    .ets-single-layout { grid-template-columns: 230px minmax(0,1fr); gap: 30px; }
    .ets-bottom-cta-inner { align-items: flex-start; flex-direction: column; }
    .ets-bottom-actions { justify-content: flex-start; }
}
@media (max-width: 720px) {
    .ets-card-icon { width: 50px; height: 50px; }
    .ets-card-icon .ets-service-card-icon-image { width: 32px; height: 32px; }
    .ets-container { width: min(100% - 30px, 1160px); }
    .ets-page-banner { padding: 42px 0 46px; }
    .ets-archive-main, .ets-process-section, .ets-single-main { padding-top: 62px; padding-bottom: 68px; }
    .ets-service-grid { grid-template-columns: 1fr; }
    .ets-card-content p { min-height: 0; }
    .ets-process-grid { grid-template-columns: 1fr; }
    .ets-single-intro { font-size: 15px; }
    .ets-wide-image { margin-bottom: 35px; aspect-ratio: 1.65 / 1; }
    .ets-single-layout { grid-template-columns: 1fr; }
    .ets-service-sidebar { position: static; }
    .ets-service-details { order: -1; }
    .ets-detail-box { padding: 22px 19px; }
    .ets-detail-box ul { grid-template-columns: 1fr; }
    .ets-image-cta { min-height: 330px; }
    .ets-bottom-actions { width: 100%; flex-direction: column; }
    .ets-bottom-actions .ets-button { width: 100%; }
}
