/* Service spreads: one complete story per stop, with a readable flow fallback. */
.services{--service-gap:32px;--service-card-width:88vw;background:#e9ede3;padding:76px 0 0;overflow:clip;overflow-clip-margin:0}
.services .services-stage{overflow:visible}
.services .section-head{align-items:end;gap:48px;margin:0 6% 28px;padding:0}
.services .section-head h2{font-size:clamp(28px,2.65vw,44px);line-height:1.35;letter-spacing:-.06em;word-break:keep-all;overflow-wrap:anywhere}
.services .section-head>p{max-width:370px;font-size:13px;line-height:1.85;color:#5e6d5d;word-break:keep-all;overflow-wrap:anywhere}
.services .eyebrow{letter-spacing:.14em;font-size:9px;margin-bottom:14px}
.services .service-window{padding:0 6%;overflow:clip;width:100%;scroll-snap-type:none}
.services .service-list{display:flex;width:max-content;gap:var(--service-gap);align-items:stretch;transform:none}
.services .service-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:auto;flex:none;width:var(--service-card-width);height:auto;min-height:480px;gap:0;padding:0;border:1px solid #cbd4c5;border-radius:0;background:#f7f7ef;isolation:isolate;overflow:hidden;scroll-margin-top:calc(var(--header-height) + 18px);color:#162b20;transition:border-color .25s}
.services .service-row:hover{border-color:#689b7d}
.services .service-row>div.service-body{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:clamp(26px,2.9vw,46px);gap:0;background:#f7f7ef}
.services .service-body .service-overline{display:flex;gap:19px;align-items:center;margin-bottom:22px}
.services .service-body .number{font-size:12px;line-height:1;padding:0;color:#007947;font-weight:600}
.services .service-body small{font-size:8px;letter-spacing:.13em;color:#5b7060;line-height:1.6}
.services .service-body h3{font-size:clamp(26px,2.65vw,43px);line-height:1.33;font-weight:550;letter-spacing:-.07em;margin:0;word-break:keep-all;overflow-wrap:anywhere}
.services .service-heading{transform:translate3d(0,var(--service-title-y,0px),0);transform-origin:left center;will-change:transform}
.services .service-context{display:flex;flex-direction:column;gap:7px;margin:24px 0 13px}
.services .service-context>span{font-size:10px;letter-spacing:-.02em;color:#60806a}
.services .service-context>strong{font-size:clamp(15px,1.3vw,20px);font-weight:500;line-height:1.65;letter-spacing:-.045em;word-break:keep-all;overflow-wrap:anywhere}
.services .service-body>p.service-description{font-size:13px;line-height:1.9;color:#5c6b60;min-width:0;margin:0;word-break:keep-all;overflow-wrap:anywhere}
.services .service-scope{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:20px 0 24px}
.services .service-scope li{border:1px solid #cdd8ca;padding:7px 10px;font-size:10px;line-height:1.5;color:#3f634c;word-break:keep-all}
.services .service-card-footer{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:end;border-top:1px solid #d5ddd0;padding-top:18px;margin-top:auto}
.services .service-preparation{margin:0;display:flex;flex-direction:column;gap:5px;max-width:100%;color:#506253;font-size:11px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.services .service-preparation>span:first-child{font-size:9px;color:#7a887a;letter-spacing:.02em}
.services .service-open{display:inline-flex;align-items:center;gap:15px;font-size:11px;font-weight:500;line-height:1.5}
.services .service-body .round-arrow{display:grid;place-items:center;width:36px;height:36px;font-size:21px;flex:none;position:static;align-self:auto;margin:0;border:1px solid #91b29a;border-radius:50%;transition:background .25s,transform .3s,border-color .25s}
.services .service-row:hover .round-arrow{background:var(--green);border-color:var(--green);transform:rotate(45deg)}
.services .service-art{position:relative;inset:auto;display:block;grid-column:2;grid-row:1;width:100%;height:100%;min-height:440px;padding:0;overflow:hidden;clip-path:none;background:#f1eee5;color:#173d2c;border-left:1px solid #d3ddce;isolation:isolate}
.services .service-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;transform:translate3d(0,var(--service-image-y,0px),0) scale(var(--service-image-scale,1.04));will-change:transform}
.services .service-art:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#ecf0e67a,transparent 27%,transparent 73%,#e3e9dcb8)}
.services .service-art-top,.services .service-art-bottom{position:absolute;left:25px;right:25px;display:flex;justify-content:space-between;gap:20px;align-items:center;z-index:3}
.services .service-art-top{top:24px}.services .service-art-bottom{bottom:22px}
.services .service-art-word{font-size:clamp(16px,1.65vw,25px);line-height:1;letter-spacing:-.045em;font-weight:650;transform:translateX(var(--service-word-x,0px));text-wrap:balance;overflow-wrap:anywhere}
.services .service-art-index{font-size:8px;letter-spacing:.15em;white-space:nowrap}
.services .service-art-caption{font-size:11px;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}
.services .service-art-symbol{font-size:36px;line-height:1;transform:rotate(var(--service-symbol-turn,0deg));color:#008c54}
.services .service-viewfinder{position:absolute;inset:15%;border:1px solid #117c4c2b;transform:rotate(var(--service-frame-turn,0deg)) scale(var(--service-frame-scale,1));pointer-events:none;z-index:2;clip-path:polygon(0 0,13% 0,13% 1px,1px 1px,1px 13%,0 13%,0 0,100% 0,100% 13%,calc(100% - 1px) 13%,calc(100% - 1px) 1px,87% 1px,87% 0,100% 0,100% 100%,87% 100%,87% calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) 87%,100% 87%,100% 100%,0 100%,0 87%,1px 87%,1px calc(100% - 1px),13% calc(100% - 1px),13% 100%,0 100%)}
.services .service-image-fallback{display:none;position:absolute;inset:0;place-items:center;font-size:clamp(40px,6vw,88px);font-weight:600;letter-spacing:-.07em;background:radial-gradient(ellipse at 70% 30%,#00c57855,transparent 60%),#e4eddf;color:#174a31}
.services .service-art.media-unavailable .service-image{display:none}.services .service-art.media-unavailable .service-image-fallback{display:grid}
.services .service-controls{display:grid;grid-template-columns:1fr minmax(180px,.4fr);gap:40px;align-items:center;margin:22px 6% 0}
.services .service-navigation{display:flex;gap:30px;margin:0;padding:0;border:0}
.services .service-navigation button{font-size:11px;line-height:1.5;padding:10px 0 12px;color:#6b7a65;white-space:nowrap}
.services .service-navigation button>span{font-size:9px;margin-right:7px;color:#77917a}
.services .service-navigation button[aria-pressed=true]{color:#17512f}
.services .service-progress{display:flex;margin:0;gap:16px;font-size:8px;line-height:1.5;color:#65755f;white-space:nowrap}
.services .service-progress>div{min-width:35px}.services .service-progress>span:last-child{font-size:7px;letter-spacing:.06em}
.services .service-progress i{height:2px;background:#008e51}
.services.is-pinned{height:var(--services-height);padding:0;overflow:clip}
.services.is-pinned .services-stage{height:var(--services-stage-height);top:var(--services-pin-top);display:flex;flex-direction:column;justify-content:center;padding:28px 0}
.services.is-pinned .service-window{overflow:clip;padding-top:0;padding-bottom:0;flex-shrink:0}
.services.is-pinned .service-list{transform:translate3d(var(--services-x,0px),0,0)}
.services.is-pinned .service-row{transform:perspective(1800px) rotateY(var(--card-turn,0deg)) scale(var(--card-scale,1));transform-origin:center;will-change:transform}
.services.services-measuring .services-stage{padding:28px 0;display:flex;flex-direction:column;height:auto;min-height:0}
.services:not(.is-pinned):not(.services-measuring){padding-bottom:32px}
.services:not(.is-pinned):not(.services-measuring) .service-list{display:grid;gap:36px;width:100%;transform:none!important}
.services:not(.is-pinned):not(.services-measuring) .service-row{width:100%;transform:none!important}
.services:not(.is-pinned):not(.services-measuring) .service-art{position:sticky;top:calc(var(--header-height) + 18px);height:min(520px,72svh);align-self:start;min-height:380px}
.services:not(.is-pinned):not(.services-measuring) .service-window{overflow:visible}
.services:not(.is-pinned):not(.services-measuring) .service-row{overflow:visible}
.services:not(.is-pinned):not(.services-measuring) .service-progress{display:none}
.services:not(.is-pinned):not(.services-measuring) .service-controls{display:block}
.services-outro{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:36px 6% 64px;background:#e9ede3;border-bottom:1px solid #c5d2c0}
.services-outro p{font-size:13px;line-height:1.9;margin:0;color:#61705d;word-break:keep-all;overflow-wrap:anywhere}
.services-outro a{font-size:13px;display:flex;gap:40px;align-items:center;padding:12px 0;border-bottom:1px solid #6e8c6e;white-space:nowrap}.services-outro a span{font-size:24px;color:#008e51}
/* Detail dialogs continue the same story and retain the existing contact route. */
#detail .dialog-kicker{font-size:10px;letter-spacing:.14em;color:#438058;margin-bottom:18px}
#detail h2{font-size:clamp(27px,3.5vw,41px);margin:0 0 22px;line-height:1.4;word-break:keep-all;overflow-wrap:anywhere}
#detail .service-detail-intro{font-size:16px;line-height:1.9;color:#375341;margin-bottom:24px;word-break:keep-all}
#detail .service-detail-problem{border-left:2px solid var(--green);padding:4px 0 4px 18px;font-size:13px;line-height:1.85;color:#62745e;margin-bottom:28px}
#detail .detail-items{gap:0;border-top:1px solid #cbd6c5;border-left:1px solid #cbd6c5;margin-bottom:26px}
#detail .detail-items>div{border:0;border-right:1px solid #cbd6c5;border-bottom:1px solid #cbd6c5;padding:24px}
#detail .detail-items h3{font-size:15px;line-height:1.6}#detail .detail-items p{font-size:12px;line-height:1.9;word-break:keep-all;overflow-wrap:anywhere}
#detail .detail-index{display:block;font-size:10px;color:#008b50;letter-spacing:.1em;margin-bottom:16px}
#detail .service-detail-prep{display:flex;flex-direction:column;gap:8px;padding:20px 24px;background:#e4ebde;font-size:13px;line-height:1.8;margin-bottom:20px}
#detail .service-detail-prep strong{font-weight:500;color:#26653d;font-size:11px}
#detail .service-detail-note{font-size:11px;line-height:1.9;color:#68775e;margin-bottom:26px}
@media(max-width:1100px){
 .services .section-head{gap:30px;margin-bottom:22px}.services .section-head>p{max-width:310px;font-size:12px}
 .services .service-row{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);min-height:440px}
 .services .service-row>div.service-body{padding:25px;gap:0}.services .service-body .service-overline{margin-bottom:17px}
 .services .service-body h3{font-size:28px}.services .service-context{margin-top:19px}.services .service-context>strong{font-size:16px}
 .services .service-body>p.service-description{font-size:12px}.services .service-scope{gap:5px;margin:17px 0 20px}.services .service-scope li{font-size:9px;padding:6px 8px}
 .services .service-art-top,.services .service-art-bottom{left:20px;right:20px}.services .service-art-word{font-size:17px}.services .service-art-caption{font-size:10px}
 .services .service-controls{grid-template-columns:1fr auto;gap:20px}.services .service-progress>span:last-child{display:none}
}
@media(max-height:950px) and (min-width:701px){
 .services.is-pinned .services-stage,.services.services-measuring .services-stage{padding:22px 0}
 .services .section-head{margin-bottom:20px}.services .eyebrow{margin-bottom:10px}.services .section-head h2{font-size:29px}
 .services .service-row{min-height:415px}.services .service-art{min-height:415px}
 .services .service-row>div.service-body{padding:24px 30px}.services .service-body .service-overline{margin-bottom:16px}
 .services .service-body h3{font-size:30px}.services .service-context{margin:17px 0 10px}.services .service-context>strong{font-size:16px}
 .services .service-body>p.service-description{font-size:12px;line-height:1.85}.services .service-scope{margin:16px 0 18px}.services .service-scope li{font-size:9px;padding:5px 8px}
 .services .service-card-footer{padding-top:13px;gap:12px}.services .service-controls{margin-top:17px}
}
@media(max-width:700px){
 .services{padding:58px 0 0;overflow:clip}.services .section-head{display:block;margin:0 6% 28px;padding:0}
 .services .section-head h2{font-size:29px}.services .section-head>p{font-size:13px;max-width:460px;margin-top:20px;line-height:1.9}
 .services .service-window,.services.services-measuring .service-window{padding:0 6%;overflow:visible}
 .services .service-list,.services.services-measuring .service-list{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;width:100%;transform:none!important}
 .services .service-row,.services.services-measuring .service-row{grid-area:auto;display:flex;flex-direction:column;width:100%;height:auto;min-height:0;overflow:visible;opacity:1!important;transform:none!important}
 .services .service-row>div.service-body{order:1;position:relative;z-index:4;padding:27px 23px 25px;gap:0;border-top:1px solid #d3ddce}
 .services .service-body .service-overline{margin-bottom:21px}.services .service-body small{font-size:7px;letter-spacing:.12em}
 .services .service-body h3{font-size:28px;line-height:1.4}.services .service-context{margin:22px 0 13px}.services .service-context>strong{font-size:16px;line-height:1.75}
 .services .service-body>p.service-description{font-size:13px;line-height:1.95}.services .service-scope{margin:21px 0 24px;gap:6px}
 .services .service-scope li{font-size:10px;padding:6px 9px}.services .service-card-footer{gap:23px;padding-top:19px}
 .services .service-open{width:100%;justify-content:space-between;font-size:12px}.services .service-preparation{font-size:11px}
 .services .service-art,.services:not(.is-pinned):not(.services-measuring) .service-art{order:0;position:sticky;top:calc(var(--header-height) + 12px);height:clamp(250px,84vw,420px);min-height:0;align-self:auto;flex-shrink:0;border-left:0}
 .services .service-art-top{top:20px}.services .service-art-bottom{bottom:19px}.services .service-art-word{font-size:21px}.services .service-art-caption{font-size:10px}
 .services .service-image{object-position:center 50%}.services .service-controls{margin-top:25px}.services .service-navigation{gap:12px;justify-content:space-between}.services .service-navigation button{font-size:10px;white-space:normal;text-align:left}.services .service-navigation button>span{margin-right:4px}
 .services.services-measuring .services-stage{display:block;padding:0;height:auto}
 .services-outro{padding:28px 6% 56px;display:block}.services-outro p{font-size:12px}.services-outro p br{display:none}.services-outro a{margin-top:24px;max-width:240px;font-size:12px;justify-content:space-between}
 #detail .service-detail-intro{font-size:14px}#detail .detail-items>div{padding:21px}#detail .service-detail-prep{padding:18px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 .services .service-image,.services .service-heading,.services .service-art-word,.services .service-art-symbol,.services .service-viewfinder{transform:none!important;will-change:auto}
 .services .service-art{position:relative!important;top:auto!important}.services .service-navigation{display:none}.services .service-row:hover .round-arrow{transform:none}
}
html.cms-editing .services .service-art{position:relative!important;top:auto!important}
html.cms-editing .services .service-image,html.cms-editing .services .service-heading,html.cms-editing .services .service-art-word,html.cms-editing .services .service-art-symbol,html.cms-editing .services .service-viewfinder{transform:none!important}
