/* Scoped service hierarchy templates; use the site's existing header and form. */
.cs-structure{--cs-green:#176447;--cs-ink:#202a25;--cs-muted:#526158;--cs-line:#d6ded7;--cs-wash:#f5f6f3;--cs-soft:#e8efe8;background:#fff;color:var(--cs-ink);font-family:inherit;font-size:16px;line-height:1.65}
.cs-structure *,.cs-structure *::before,.cs-structure *::after{box-sizing:border-box}
.cs-structure h1,.cs-structure h2,.cs-structure h3,.cs-structure p{overflow-wrap:break-word}
.cs-structure a:focus-visible,.cs-structure summary:focus-visible{outline:3px solid var(--cs-green);outline-offset:5px}
.cs-structure [id]{scroll-margin-top:90px}
.cs-structure p{color:var(--cs-muted);line-height:1.7}
.cs-structure a{color:var(--cs-green)}
.cs-kicker{display:block;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.035em;color:var(--cs-green)}
.cs-hero{background:var(--cs-wash);border-top:1px solid var(--cs-line)}
.cs-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:64px;align-items:start;padding-block:54px 50px}
.cs-hero-copy,.cs-hero-aside{min-width:0}
.cs-hero-copy>.cs-kicker{margin-bottom:16px}
.cs-parent-link{display:inline-flex;align-items:center;min-height:36px;margin-bottom:14px;font-size:14px;line-height:1.5}
.cs-parent-link:hover{text-decoration:underline;text-underline-offset:5px}
.cs-hero h1,.cs-directory-hero h1{font-size:clamp(40px,4.2vw,60px);line-height:1.12;letter-spacing:-.04em;font-weight:600;margin:0 0 24px;max-width:920px}
.cs-hero .cs-intro,.cs-directory-hero .cs-intro{font-size:18px;line-height:1.7;max-width:770px;margin:0}
.cs-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:14px 25px;margin-top:27px}
.cs-primary{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;max-width:100%;min-height:52px;padding:14px 21px;background:var(--cs-green);border:1px solid var(--cs-green);border-radius:12px;color:#fff!important;font-size:16px;font-weight:600;line-height:1.5;text-align:left;transition:background .15s,border-color .15s}
.cs-primary:hover{background:#104b34;border-color:#104b34}
.cs-primary>span,.cs-secondary>span,.cs-card-link>span{flex-shrink:0;font-size:20px}
.cs-secondary{display:inline-flex;align-items:center;gap:12px;max-width:100%;min-height:44px;font-size:16px;line-height:1.6;color:var(--cs-green);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.cs-secondary:hover{color:#103e2d}
.cs-contact-note{margin-top:18px!important;font-size:14px;line-height:1.7;max-width:660px}
.cs-result{padding:25px 26px;background:var(--cs-soft);border:1px solid var(--cs-line);border-radius:16px;scroll-margin-top:90px}
.cs-result>p{font-size:19px;line-height:1.7;color:var(--cs-ink);margin:13px 0 0}
.cs-before-start{margin-top:22px;padding-top:20px;border-top:1px solid var(--cs-line)}
.cs-before-start p{font-size:15px;margin:9px 0 8px}
.cs-before-start a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:15px;text-decoration:underline;text-underline-offset:5px}
.cs-hero-image{margin:0 0 16px;overflow:hidden;border-radius:16px;background:var(--cs-line)}
.cs-hero-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.cs-hero-image figcaption{padding:11px 16px;background:var(--cs-soft);font-size:12px;line-height:1.65;color:var(--cs-muted)}
.cs-with-image{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px}
.cs-with-image .cs-result>p{font-size:17px}
.cs-hub-secondary{padding-block:0 18px}
.cs-hub-secondary:has(a){background:#fff}
.cs-nav{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--cs-line)}
.cs-nav>.wrap{display:flex;align-items:center;flex-wrap:wrap;gap:6px 25px;min-height:66px;padding-block:8px}
.cs-nav a{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:14px;line-height:1.5;color:var(--cs-muted)}
.cs-nav a:hover{color:var(--cs-green);text-decoration:underline;text-underline-offset:5px}
.cs-nav a:last-child{color:var(--cs-green);font-weight:700;margin-left:auto}
.cs-section{padding-block:58px;scroll-margin-top:90px}
.cs-soft{background:var(--cs-wash)}
.cs-section-grid{display:grid;grid-template-columns:150px minmax(0,1fr);gap:46px}
.cs-section-label{font-size:14px;line-height:1.6;color:var(--cs-muted);padding-top:7px}
.cs-section-content{min-width:0}
.cs-heading{max-width:850px;margin-bottom:29px}
.cs-heading h2{font-size:clamp(30px,3vw,40px);line-height:1.25;font-weight:600;letter-spacing:-.03em;margin:0}
.cs-heading>p{font-size:16px;line-height:1.7;margin:15px 0 0;max-width:820px}
.cs-heading>.cs-kicker{margin-bottom:15px}
.cs-child-groups{scroll-margin-top:90px}
.cs-child-group+.cs-child-group{margin-top:42px}
.cs-group-heading{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,1.3fr);gap:30px;margin-bottom:20px;padding-top:20px;border-top:1px solid var(--cs-line)}
.cs-group-heading>h3{font-size:22px;line-height:1.4;font-weight:600;letter-spacing:-.02em;margin:0}
.cs-group-heading>p{font-size:15px;line-height:1.65;margin:0}
.cs-child-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cs-child-card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--cs-line);border-radius:14px;background:#fff;color:var(--cs-ink)!important;transition:background .15s,border-color .15s}
.cs-child-card:hover{background:var(--cs-soft);border-color:#91ac98}
.cs-child-card.cs-child-card-with-image{padding:0;overflow:hidden}
.cs-child-card-image{display:block;flex-shrink:0;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--cs-soft)}
.cs-child-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.cs-child-card-copy{display:flex;flex:1;flex-direction:column;min-width:0;padding:24px}
.cs-child-card-copy .cs-card-link{margin-top:auto}
.cs-child-label{display:block;font-size:12px;line-height:1.5;color:var(--cs-muted);margin-bottom:16px}
.cs-child-card h3{font-size:23px;line-height:1.35;font-weight:600;letter-spacing:-.02em;margin:0 0 12px}
.cs-child-card p{font-size:16px;line-height:1.7;margin:0 0 19px}
.cs-card-link{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:12px;font-size:15px;line-height:1.6;color:var(--cs-green)}
.cs-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 30px}
.cs-overview-card{min-width:0;border-top:2px solid var(--cs-green);padding-top:20px;scroll-margin-top:90px}
.cs-overview-card h3,.cs-hub-notes h3{font-size:23px;line-height:1.4;font-weight:600;letter-spacing:-.02em;margin:14px 0 16px}
.cs-overview-card p,.cs-overview-card li{font-size:16px;line-height:1.7;color:var(--cs-muted)}
.cs-overview-card ul,.cs-overview-card ol{margin:0 0 10px;padding-left:22px}
.cs-overview-card li+li{margin-top:9px}
.cs-overview-card .cs-secondary{font-size:15px}
.cs-hub-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:36px}
.cs-hub-notes>article{min-width:0;padding:25px;border:1px solid var(--cs-line);border-radius:14px;background:var(--cs-soft);scroll-margin-top:90px}
.cs-hub-notes>article:only-child{grid-column:1/-1}
.cs-hub-notes p{font-size:16px;line-height:1.7;margin:0 0 12px;max-width:790px}
.cs-inline-links{display:flex;flex-wrap:wrap;gap:8px 28px}
.cs-inline-links a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:16px;line-height:1.6;max-width:100%;text-decoration:underline;text-underline-offset:5px}
.cs-inline-links a>span{flex-shrink:0}
.cs-rows{border-top:1px solid var(--cs-line)}
.cs-row{display:grid;grid-template-columns:28px minmax(140px,.8fr) minmax(0,1.3fr);gap:22px;border-bottom:1px solid var(--cs-line);padding:23px 0;align-items:start}
.cs-number{color:var(--cs-green);font-size:12px;line-height:1.6;font-weight:700}
.cs-row>.cs-number{padding-top:5px}
.cs-row h3{font-size:21px;line-height:1.4;font-weight:600;letter-spacing:-.02em;margin:0}
.cs-row p{font-size:16px;line-height:1.7;margin:0}
.cs-input-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cs-input-card{min-width:0;padding:24px 22px;background:var(--cs-wash);border:1px solid var(--cs-line);border-radius:14px}
.cs-input-card h3{font-size:21px;line-height:1.4;font-weight:600;margin:18px 0 12px;letter-spacing:-.02em}
.cs-input-card p{font-size:16px;line-height:1.7;margin:0}
.cs-constraints{list-style:none;margin:0;padding:0;border-top:1px solid var(--cs-line)}
.cs-constraints li{position:relative;padding:18px 0 18px 32px;border-bottom:1px solid var(--cs-line);font-size:17px;line-height:1.7}
.cs-constraints li::before{content:'↳';position:absolute;left:0;top:16px;font-size:23px;color:var(--cs-green)}
.cs-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;list-style:none;padding:0;margin:0}
.cs-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:17px;padding:25px 0;border-top:1px solid var(--cs-line);min-width:0}
.cs-step-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--cs-green);color:#fff;font-size:12px;font-weight:700}
.cs-steps h3{font-size:22px;line-height:1.4;font-weight:600;letter-spacing:-.02em;margin:2px 0 12px}
.cs-steps p{font-size:16px;line-height:1.7;margin:0}
.cs-faq{border-top:1px solid var(--cs-line)}
.cs-faq details{border-bottom:1px solid var(--cs-line)}
.cs-faq summary{display:flex;justify-content:space-between;align-items:center;gap:22px;list-style:none;cursor:pointer;padding:22px 0;font-size:21px;line-height:1.5;font-weight:600;color:var(--cs-ink)}
.cs-faq summary::-webkit-details-marker{display:none}
.cs-faq summary>span{display:flex;align-items:center;justify-content:center;width:33px;height:33px;flex-shrink:0;border:1px solid var(--cs-line);border-radius:50%;color:var(--cs-green);font-size:22px;font-weight:400}
.cs-faq details[open] summary>span{transform:rotate(45deg)}
.cs-faq details>p{font-size:17px;line-height:1.75;margin:0 54px 24px 0;max-width:850px}
.cs-directory-hero{padding-block:55px 45px;background:var(--cs-wash);border-top:1px solid var(--cs-line)}
.cs-directory-hero .cs-kicker{margin-bottom:20px}
.cs-directory-hero .cs-secondary{margin-top:20px}
.cs-directory-body{padding-block:52px 64px}
.cs-directory-group+.cs-directory-group{margin-top:56px}
.cs-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.cs-directory-card{padding:28px;border:1px solid var(--cs-line);border-radius:16px;background:#fff;min-width:0}
.cs-directory-title{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;color:var(--cs-ink)!important}
.cs-directory-title h3{font-size:28px;line-height:1.3;font-weight:600;letter-spacing:-.025em;margin:0}
.cs-directory-title>span{flex-shrink:0;font-size:25px;line-height:1.3;color:var(--cs-green)}
.cs-directory-title:hover h3{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.cs-directory-card>p{font-size:16px;line-height:1.7;margin:17px 0 14px}
.cs-directory-children{border-top:1px solid var(--cs-line);margin-top:20px}
.cs-directory-children summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;min-height:54px;padding-block:12px;font-size:15px;line-height:1.6;color:var(--cs-green);cursor:pointer}
.cs-directory-children summary::-webkit-details-marker{display:none}
.cs-directory-children summary>span{font-size:23px;line-height:1;flex-shrink:0}
.cs-directory-children[open] summary>span{transform:rotate(45deg)}
.cs-directory-child-group{padding-top:13px}
.cs-directory-child-group ul{list-style:none;padding:0;margin:10px 0}
.cs-directory-child-group li+li{border-top:1px solid var(--cs-line)}
.cs-directory-child-group a{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:44px;padding:10px 0;font-size:16px;line-height:1.6}
.cs-directory-child-group a>span{flex-shrink:0}
.cs-directory-child-group a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:1100px){.cs-hero-grid{gap:35px}.cs-section-grid{grid-template-columns:110px minmax(0,1fr);gap:30px}.cs-child-card{padding:22px}.cs-input-grid{gap:12px}.cs-input-card{padding:22px 19px}.cs-group-heading{gap:22px}}
@media(max-width:850px){.cs-hero-grid,.cs-with-image{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:27px;padding-block:40px}.cs-hero h1{font-size:42px}.cs-hero .cs-intro{font-size:17px}.cs-result{padding:22px}.cs-result>p{font-size:17px}.cs-section-grid{grid-template-columns:85px minmax(0,1fr);gap:24px}.cs-section-label{font-size:12px}.cs-child-grid,.cs-input-grid,.cs-hub-notes{grid-template-columns:1fr}.cs-input-card{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px 16px}.cs-input-card>.cs-number{grid-row:1/3;padding-top:5px}.cs-input-card h3{margin:0}.cs-input-card p{grid-column:2}.cs-group-heading{grid-template-columns:1fr;gap:8px}.cs-row{grid-template-columns:24px minmax(0,1fr);gap:8px 16px}.cs-row>.cs-number{grid-row:1/3}.cs-row p{grid-column:2}.cs-overview-grid{gap:25px 22px}.cs-overview-card h3{font-size:21px}.cs-directory-card{padding:23px}.cs-directory-title h3{font-size:25px}.cs-nav a:last-child{margin-left:0}}
@media(max-width:620px){.cs-hero-grid,.cs-with-image{grid-template-columns:1fr;gap:26px;padding-block:30px 32px}.cs-hero h1,.cs-directory-hero h1{font-size:clamp(35px,9vw,43px);line-height:1.14;letter-spacing:-.035em;margin-bottom:20px}.cs-hero-copy>.cs-kicker{margin-bottom:15px}.cs-parent-link{font-size:14px;margin-bottom:12px}.cs-actions{align-items:stretch;flex-direction:column;gap:10px;margin-top:22px}.cs-primary{width:100%;font-size:16px;min-height:52px;padding:14px 18px;gap:18px}.cs-secondary{font-size:16px}.cs-contact-note{font-size:14px;margin-top:13px!important}.cs-hero-aside{display:flex;flex-direction:column;gap:18px}.cs-result{padding:22px;border-radius:14px}.cs-result>p{font-size:18px}.cs-before-start{margin-top:0;padding-top:18px}.cs-hero-image{margin-bottom:0;border-radius:14px}.cs-hub-secondary{padding-block:0 14px}.cs-nav{position:static}.cs-nav>.wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding-block:10px}.cs-nav a{font-size:14px;padding-block:8px}.cs-nav a:last-child{grid-column:1/-1}.cs-section{padding-block:38px;scroll-margin-top:20px}.cs-section-grid{display:block}.cs-section-label{font-size:13px;padding-top:0;margin-bottom:17px;color:var(--cs-green)}.cs-heading{margin-bottom:24px}.cs-heading h2{font-size:30px;line-height:1.3}.cs-heading>p{font-size:16px;margin-top:13px}.cs-child-groups,.cs-result,.cs-overview-card,.cs-hub-notes>article{scroll-margin-top:20px}.cs-group-heading{padding-top:16px;margin-bottom:17px}.cs-group-heading>h3{font-size:21px}.cs-group-heading>p{font-size:15px}.cs-child-group+.cs-child-group{margin-top:31px}.cs-child-card{padding:23px 20px;border-radius:12px}.cs-child-card h3{font-size:23px}.cs-child-card p{font-size:16px;margin-bottom:14px}.cs-child-label{margin-bottom:13px}.cs-overview-grid,.cs-steps,.cs-directory-grid{grid-template-columns:1fr}.cs-overview-grid{gap:28px}.cs-overview-card h3,.cs-hub-notes h3{font-size:23px;margin:12px 0 14px}.cs-hub-notes{margin-top:28px;gap:18px}.cs-hub-notes>article{padding:23px 20px;border-radius:12px}.cs-inline-links{gap:5px 20px}.cs-inline-links a{font-size:16px}.cs-row{padding:21px 0}.cs-row h3{font-size:21px}.cs-input-card{padding:23px 20px;border-radius:12px;gap:9px 14px}.cs-input-card h3{font-size:21px}.cs-constraints li{font-size:16px;line-height:1.75;padding-block:17px;padding-left:28px}.cs-steps li{grid-template-columns:36px minmax(0,1fr);gap:15px;padding-block:23px}.cs-step-number{width:36px;height:36px}.cs-steps h3{font-size:21px}.cs-faq summary{font-size:19px;padding-block:20px;gap:18px}.cs-faq summary>span{width:30px;height:30px}.cs-faq details>p{font-size:16px;margin:0 0 22px}.cs-directory-hero{padding-block:33px 30px}.cs-directory-hero .cs-kicker{margin-bottom:17px}.cs-directory-hero .cs-intro{font-size:17px}.cs-directory-body{padding-block:36px 42px}.cs-directory-group+.cs-directory-group{margin-top:38px}.cs-directory-card{padding:25px 22px;border-radius:14px}.cs-directory-title h3{font-size:26px}.cs-directory-card>p{font-size:16px}.cs-directory-child-group a{font-size:16px}}
@media(max-width:620px){.cs-structure [id]{scroll-margin-top:20px}}
@media(max-width:350px){.cs-hero h1,.cs-directory-hero h1{font-size:33px}.cs-primary{font-size:15px}.cs-heading h2{font-size:28px}.cs-child-card{padding:21px 18px}.cs-child-card h3{font-size:21px}.cs-directory-card{padding:23px 19px}.cs-directory-title h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){.cs-primary,.cs-child-card{transition:none}}
@media print{.cs-nav,.cs-actions,.cs-contact-note,.cs-hub-secondary,.cs-before-start{display:none}.cs-hero,.cs-soft,.cs-directory-hero{background:#fff}.cs-hero-grid{padding-block:20px}.cs-hero h1,.cs-directory-hero h1{font-size:36px}.cs-section{padding-block:24px}.cs-section-grid{grid-template-columns:100px minmax(0,1fr);gap:20px}.cs-heading h2{font-size:27px}.cs-child-card,.cs-input-card,.cs-directory-card,.cs-overview-card{break-inside:avoid}.cs-faq details>p,.cs-directory-children>.cs-directory-child-group{display:block}.cs-faq summary>span,.cs-directory-children summary>span{display:none}.cs-hero-image{max-width:320px}}
/* Keep nested services readable at tablet and narrow desktop widths. */
.cs-structure .cs-hero-grid,.cs-structure .cs-section-grid,.cs-structure .cs-child-grid,.cs-structure .cs-rows,.cs-structure .cs-input-grid{min-width:0}
.cs-structure .cs-child-card{height:100%;overflow:hidden}
.cs-structure .cs-hero h1{overflow-wrap:normal;hyphens:auto;font-size:clamp(34px,3.7vw,58px)}
.cs-structure .cs-hero-aside{align-self:start}
@media(max-width:1000px){.cs-structure .cs-hero-grid{grid-template-columns:minmax(0,1fr);gap:30px}.cs-structure .cs-hero h1{max-width:850px;font-size:clamp(34px,5.3vw,52px)}.cs-structure .cs-hero-aside{width:100%;max-width:720px}.cs-structure .cs-hero-image{max-height:none}.cs-structure .cs-hero-image img{display:block;aspect-ratio:4/3}.cs-structure .cs-section-grid{grid-template-columns:minmax(0,1fr);gap:16px}.cs-structure .cs-section-label{padding-top:0}.cs-structure .cs-group-heading{grid-template-columns:minmax(0,1fr);gap:10px}.cs-structure .cs-section{padding-block:44px}}
@media(max-width:620px){.cs-structure .cs-hero h1{font-size:clamp(30px,8.2vw,40px)}.cs-structure .cs-hero-grid{padding-block:32px}.cs-structure .cs-section{padding-block:36px}.cs-structure .cs-child-card h3{font-size:21px}.cs-structure .cs-section-grid{gap:12px}}
@media(max-width:1100px){.cs-child-card-copy{padding:22px}}
@media(max-width:620px){.cs-child-card-copy{padding:23px 20px}}
@media(max-width:350px){.cs-child-card-copy{padding:21px 18px}}

/* Soil expertise: visible before the primary action, including mobile. */
.cs-soil-gee{margin:22px 0;padding:22px 24px;border:1px solid #86a275;border-left:4px solid #8aaf52;border-radius:14px;background:#edf3e5;color:#202a25}.cs-soil-gee strong{display:block;margin:7px 0 10px;font-size:clamp(23px,2.2vw,31px);line-height:1.15;letter-spacing:-.02em}.cs-soil-gee p{font-size:15px;line-height:1.5;margin:0 0 14px}.cs-soil-gee a{font-size:16px;font-weight:650;color:#17674e;display:inline-flex;align-items:center;gap:16px;min-height:44px}.cs-soil-gee .cs-kicker{font-size:10px}@media(max-width:600px){.cs-soil-gee{padding:17px 18px;margin:18px 0}.cs-soil-gee strong{font-size:24px}}

.cs-motion-hero .cs-soil-gee .cs-kicker{color:#486148}.cs-motion-hero .cs-soil-gee p{color:#344737}.cs-motion-hero .cs-soil-gee a{color:#17674e}

/* Inner services are ordinary reading pages; the seven direction hubs own films. */
.cs-compact-detail .cs-hero-grid{padding-block:38px 36px;gap:36px}
.cs-compact-detail .cs-hero h1{font-size:clamp(32px,3.6vw,52px)}
.cs-compact-detail .cs-section{padding-block:38px}
.cs-compact-detail .cs-section-grid{gap:34px}
.cs-compact-detail .cs-hero-image img{max-height:340px}
@media(max-width:760px){.cs-compact-detail .cs-hero-grid{padding-block:28px;gap:26px}.cs-compact-detail .cs-section{padding-block:30px}.cs-compact-detail .cs-section-grid{gap:18px}.cs-compact-detail .cs-hero-image img{max-height:260px}}
