.service-motion-page{position:relative;isolation:isolate;background:transparent}
.service-motion-layer{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#536155;opacity:0;transition:opacity .35s ease}
.service-motion-layer.is-active{opacity:1}.service-motion-layer:after{content:"";position:absolute;inset:0;background:rgba(19,34,27,.12)}
.service-motion-image{display:block;width:100%;height:100%;object-fit:cover;object-position:62% center;will-change:transform;transform:translate3d(0,0,0) scale(1.075) rotate(0deg)}
.service-motion-page>.wrap{background:#f7faf2ed;border-radius:0 0 4px 4px}
.service-motion-page .cs-structure{background:transparent}
.service-motion-page:has(.service-film-layer) .cs-detail>.cs-section{background:#f7faf4f2}
.service-motion-page:has(.service-film-layer) .cs-detail>.cs-soft{background:#edf2e9f5}
.service-motion-page .cs-motion-hero{position:relative;min-height:78vh;display:flex;align-items:center;padding:76px 0;color:#fff;background:linear-gradient(90deg,rgba(15,36,25,.92),rgba(15,36,25,.82) 56%,rgba(15,36,25,.72))}
.service-motion-page .cs-motion-hero .cs-hero-grid{align-items:center;gap:70px;width:calc(100% - 40px);grid-template-columns:1.3fr .75fr}
.service-motion-page .cs-motion-hero h1{font-size:clamp(42px,4.1vw,68px);line-height:1.06;max-width:760px;color:#fff;text-shadow:0 2px 18px #182c1e50}
.service-motion-page .cs-motion-hero .cs-kicker,.service-motion-page .cs-motion-hero .cs-parent-link{color:#dce7ce}.service-motion-page .cs-motion-hero .cs-intro{color:#f1f5eb;max-width:690px}
.service-motion-page .cs-motion-hero .cs-secondary{color:#fff;border-color:#ffffff70}.service-motion-page .cs-motion-hero .cs-contact-note{color:#dce6d6}
.service-motion-page .cs-motion-hero .cs-primary,.service-motion-chapter .cs-primary{background:#e5efd4;color:#254231;border-color:#e5efd4}
.service-motion-page .cs-motion-hero .cs-result,.service-motion-page .cs-motion-hero .cs-before-start{background:#f7faf2f0;border:1px solid #ffffff85;color:#2a3b2b;box-shadow:0 8px 35px #10221625;border-radius:5px}
.service-motion-page .cs-motion-hero .cs-hero-aside .cs-kicker{color:#587055}
.service-motion-page .cs-motion-hero .cs-soil-gee .cs-kicker{color:#486148}
.service-motion-caption{display:block;font-size:10px;color:#dce6d5;letter-spacing:.03em;margin-top:28px}
.service-motion-page .cs-hub>.cs-section{background:#f7faf4f2;margin:34px auto;max-width:1440px;border-radius:5px;box-shadow:0 10px 35px #1b35231a}
.service-motion-page .cs-hub>.cs-soft{background:#edf2e9f5}.service-motion-page .cs-hub>.cs-subnav,.service-motion-page .cs-hub>.cs-section-nav{background:#f7faf4f2}
.service-motion-page .cs-hub-secondary{background:#f7faf4f2}.service-motion-page>.request-section,.service-motion-page>#request{background:#eff4e7f7}
.service-motion-chapter{display:flex;align-items:center;min-height:60vh;padding:90px 0;color:#fff;background:linear-gradient(90deg,rgba(19,44,33,.92),rgba(19,44,33,.76))}
.service-motion-chapter>.wrap{transform:translateY(var(--chapter-shift,0px));opacity:var(--chapter-opacity,1);transition:opacity .25s ease,transform .35s ease}
.service-motion-chapter .cs-kicker{color:#e0ebcf}.service-motion-chapter h2{font-size:clamp(36px,4.5vw,64px);line-height:1.07;max-width:850px;margin:22px 0;color:#fff}.service-motion-chapter p{color:#eef4e8;max-width:620px;line-height:1.6;font-size:18px;margin:0 0 30px}
.service-motion-toggle{position:fixed;z-index:35;bottom:22px;right:24px;background:#f2f7ebf5;color:#354e37;border:1px solid #b4c5a8;border-radius:4px;padding:13px 19px;font:inherit;font-size:13px;cursor:pointer;box-shadow:0 5px 24px #14281e25}
.service-motion-toggle:hover{background:white}.service-motion-toggle:focus-visible{outline:3px solid #afd38d;outline-offset:3px}
@media(max-width:950px){.service-motion-page .cs-motion-hero .cs-hero-grid{grid-template-columns:1fr;gap:36px}.service-motion-page .cs-motion-hero .cs-hero-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service-motion-page .cs-motion-hero{padding:60px 0;min-height:85vh}.service-motion-page .cs-motion-hero h1{font-size:48px}.service-motion-page .cs-hub>.cs-section{margin:24px 14px}.service-motion-chapter{min-height:55vh}}
@media(max-width:600px){.service-motion-page .cs-motion-hero{padding:48px 0;background:linear-gradient(90deg,rgba(19,44,33,.92),rgba(19,44,33,.76))}.service-motion-page .cs-motion-hero h1{font-size:38px}.service-motion-page .cs-motion-hero .cs-hero-aside{grid-template-columns:1fr}.service-motion-page .cs-motion-hero .cs-intro{font-size:16px}.service-motion-page .cs-hub>.cs-section{margin:20px 10px}.service-motion-chapter{padding:60px 0}.service-motion-chapter h2{font-size:36px}.service-motion-chapter p{font-size:16px}.service-motion-toggle{bottom:16px;right:16px;padding:11px 14px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.service-motion-image,.page-motion-video{transform:none!important}.service-motion-layer,.service-motion-chapter>.wrap{transition:none}.service-motion-chapter>.wrap{transform:none!important;opacity:1!important}}
.service-motion-page .cs-structure a.cs-primary,.service-motion-page .cs-structure a.cs-primary:hover{color:#254231!important;background:#e5efd4;border-color:#e5efd4}
.service-motion-page .cs-motion-hero .cs-before-start{padding:24px 26px}.service-motion-page .cs-nav{background:#f7faf4f2}
/* One consistent inner gutter across the floating service panels. */
.service-motion-page .cs-hub>.cs-section{width:calc(100% - 40px);max-width:1400px}
.service-motion-page .cs-hub>.cs-section>.wrap{width:calc(100% - 64px);max-width:1320px}
.service-motion-page .cs-motion-hero .cs-hero-grid{padding-block:0}
.service-motion-page .cs-hub-secondary>.wrap{padding-block:18px}
@media(max-width:1000px){.service-motion-page .cs-motion-hero .cs-hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}.service-motion-page .cs-hub>.cs-section{margin:24px auto;width:calc(100% - 28px)}.service-motion-page .cs-hub>.cs-section>.wrap{width:calc(100% - 40px)}}
@media(max-width:620px){.service-motion-page .cs-hub>.cs-section{width:calc(100% - 20px);margin:20px auto}.service-motion-page .cs-hub>.cs-section>.wrap{width:calc(100% - 36px)}.service-motion-page .cs-motion-hero h1{font-size:clamp(30px,8.2vw,38px)}}
@media(max-width:360px){.service-motion-page .cs-motion-hero h1{font-size:32px;line-height:1.12;word-break:normal;overflow-wrap:normal}}

/* Seven direction-specific films share the homepage's full-page camera treatment. */
.service-film-layer{overflow:clip;transition:none}
.service-film-layer:after{z-index:6;background:rgba(14,34,23,.08)}
.service-film-scene{position:absolute;inset:0;opacity:0;visibility:hidden}
.service-film-scene.is-visible{opacity:1;visibility:visible}
.service-film-camera{position:absolute;inset:0;transform-origin:0 0;will-change:auto;backface-visibility:hidden}
.service-film-scene.is-visible .service-film-camera{will-change:transform}
.service-film-camera picture{display:block;width:100%;height:100%}
.service-film-camera img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transform:none}
.service-film-camera img:not([src]){display:none}
.service-film-gap{position:relative;display:flex;align-items:flex-end;min-height:clamp(440px,82svh,900px);width:100%;margin:0;padding:70px 0 54px;isolation:isolate;background:transparent;border:0;border-radius:0;box-shadow:none}
.service-film-gap.service-film-reveal{min-height:clamp(240px,42svh,480px);padding:0}
.service-film-reveal:before{display:none}
.service-film-gap:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(0deg,rgba(14,32,24,.78),rgba(14,32,24,.28) 47%,transparent 90%)}
.service-film-gap-content{min-width:0}
.service-film-caption{max-width:720px;color:#fff;transform:translate3d(0,var(--service-film-text-shift,0px),0);opacity:var(--service-film-text-opacity,1);will-change:transform,opacity;text-shadow:0 2px 18px #10221980}
.service-film-kicker{display:block;margin:0 0 18px;color:#e0ebcf;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.11em;text-transform:uppercase}
.service-film-caption h2{margin:0 0 19px;color:#fff;font-size:clamp(30px,3.5vw,52px);font-weight:500;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}
.service-film-caption p{max-width:620px;margin:0;color:#f2f5ed;font-size:17px;line-height:1.65}
.service-film-chapter>.wrap{transition:none;will-change:transform,opacity}
.service-motion-page:has(.service-film-layer) .cs-motion-hero .cs-hero-copy,.service-film-chapter>.wrap{transform:translate3d(0,var(--service-film-text-shift,0px),0);opacity:var(--service-film-text-opacity,1)}
.service-film-toggle{max-width:calc(100vw - 32px);white-space:normal}
.service-motion-page+footer{position:relative;z-index:1}
@media(max-width:760px){.service-film-gap{min-height:clamp(420px,76svh,760px);padding:64px 0 42px}.service-film-gap.service-film-reveal{min-height:clamp(220px,38svh,400px);padding:0}.service-film-caption{max-width:620px}.service-film-caption h2{font-size:clamp(29px,5.8vw,42px)}.service-film-caption p{font-size:16px}.service-film-kicker{font-size:10px;margin-bottom:15px}}
@media(max-width:380px){.service-film-caption h2{font-size:28px}.service-film-caption p{font-size:15px}.service-film-gap{padding-bottom:38px}}
@media(prefers-reduced-motion:reduce){.service-film-camera,.service-film-caption,.service-film-chapter>.wrap,.service-motion-page:has(.service-film-layer) .cs-motion-hero .cs-hero-copy{transform:none!important;will-change:auto;transition:none!important}.service-film-caption,.service-film-chapter>.wrap,.service-motion-page:has(.service-film-layer) .cs-motion-hero .cs-hero-copy{opacity:1!important}}
@media print{.service-film-layer,.service-film-toggle,.service-film-gap{display:none}.service-film-chapter{color:#203744;background:#f2f5ed;min-height:0;padding:30px 0}.service-film-chapter h2,.service-film-chapter p,.service-film-chapter .cs-kicker{color:#203744;text-shadow:none}}

/* Reading panels remain still; camera transitions belong to the open intervals. */
.service-motion-page:has(.service-film-layer) .ds-service>.ds-section,.service-motion-page:has(.service-film-layer) .ds-service>.ds-hero,.service-motion-page:has(.service-film-layer) .ds-nav{background:#f7faf4f7}
.service-motion-page:has(.service-film-layer) .legacy-film-content{padding:0;width:100%;max-width:none;background:transparent}
.legacy-film-panel{background:#f7faf4f7;padding:clamp(40px,6vw,82px) 0}
.legacy-film-panel .legacy-copy{width:calc(100% - 40px);max-width:1000px}
.legacy-film-panel h2:first-child{margin-top:0}
.legacy-film-hero .legacy-copy{color:#f1f5eb}
.service-motion-page .legacy-film-hero .legacy-header{background:transparent;border:0}
.service-motion-page .legacy-film-hero .legacy-copy p{color:#f1f5eb}.legacy-film-hero .legacy-header h1{max-width:1000px}
.service-film-caption,.service-film-chapter>.wrap,.service-motion-page:has(.service-film-layer) .cs-motion-hero .cs-hero-copy{transform:none;opacity:1;will-change:auto}

.service-motion-page:has(.service-film-layer) .ds-service{background:transparent}
.legacy-film-hero .eyebrow{color:#dce7ce}
