/* Shared spacing for service routes. Loaded after each page's artwork styles. */
.service-page .service-layout-hero{padding-top:18px;padding-bottom:0}
/* Move service and How We Work heroes down without changing the shared header. */
.service-page:not(.about-page) .service-layout-hero{padding-top:42px}

.service-layout-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:start;gap:36px;padding:0 0 26px}
.service-page .service-layout-copy{display:block;align-self:start;max-width:none}
.service-page .service-layout-hero h1{font-size:clamp(38px,3.8vw,54px);line-height:1.08;max-width:650px}
.service-layout-hero .service-hero-actions{margin-top:20px;gap:16px}
.service-layout-hero .service-text-link{font-size:13px}
.service-page .service-layout-copy>p{font-size:17px;line-height:1.7;margin-top:18px;padding-top:0;max-width:590px}
.service-page .service-layout-copy>p+p{margin-top:12px}
.service-page .service-layout-art{width:100%;max-width:420px;min-width:0;margin:0;justify-self:end;align-self:center}
.service-layout-art.service-hero-art{max-width:390px}
.service-layout-foundations{padding-block:20px}

/* Avoid adding two large same-background section paddings together. */
.service-page .service-layout-section{padding-top:56px;padding-bottom:56px}
.service-layout-hero+.service-layout-section{padding-top:40px}
.service-page .service-layout-section+.service-layout-section{padding-top:0}
.service-layout-intro{margin-bottom:30px}
.service-layout-inclusions{padding-block:56px}
.service-page .service-layout-process{padding-top:0;padding-bottom:56px}
.service-layout-workflow-heading{margin-bottom:32px}
.service-layout-measure{padding:40px;gap:40px}
.service-page .service-layout-faq{padding-top:56px;padding-bottom:48px}
.service-page .service-layout-faq+.service-layout-section{padding-top:0}
.service-layout-features{gap:22px;align-items:start}
.service-layout-feature-visual{height:180px;min-height:0;padding:18px 24px}
.service-closing{margin-top:0;margin-bottom:56px;padding:40px;gap:35px}
.service-start-section{padding-block:56px;margin-top:0}
.service-measure-section{padding-block:56px;margin-block:0}

/* Ecommerce: keep the shop/phone composition compact and legible. */
.service-page .ec-store-scene{padding:14px 44px 75px 6px;max-width:450px}
.ec-store-masthead{padding:18px}.ec-store-masthead>span{font-size:25px}
.ec-store-scene .ec-phone{width:125px;right:0;bottom:5px}
.ec-store-scene .ec-pickup-note{left:0;bottom:25px;padding:13px;gap:9px;max-width:calc(100% - 110px)}
.ec-pickup-note strong{font-size:11px}.ec-pickup-note span{font-size:9px}
.ec-pickup-note>.icon{width:24px;height:24px}
.ec-phone>span:not(.ec-phone-action){font-size:11px}.ec-phone-action{font-size:7px}
.ec-retail-photo{min-height:170px;padding:16px}.ec-retail-photo img{width:140px;height:140px}
.ec-category-list{padding:10px 16px}.ec-category-list>div{padding-block:6px}

/* Technical SEO: smaller product panel; no oversized decorative gutters. */
.service-page .ts-map{padding:8px 8px 60px}
.ts-map-title{padding:16px 20px;font-size:25px}
.ts-product-preview{gap:15px;padding:0 18px 18px}
.ts-product-photo{padding:9px}.ts-product-info>strong{font-size:17px}
.ts-product-lines{margin:12px 0}.ts-product-detail{margin-top:8px;font-size:9px}
.ts-map-foundation{padding:11px;margin:0 18px 18px;font-size:10px}
.ts-review-note{bottom:0;right:0;padding:15px 18px;gap:11px}
.ts-review-note strong{font-size:14px}.ts-review-note span{font-size:10px}

/* Digital PR: preserve the editorial picture while removing excess framing. */
.service-page .pr-editorial-scene{padding:10px 10px 64px 6px}
.pr-paper-back{inset:26px 0 75px 19px}.pr-editorial-card{padding:18px}
.pr-editorial-title{font-size:27px;margin-block:16px}
.pr-editorial-feature{gap:14px}.pr-editorial-copy>strong{font-size:16px}
.pr-editorial-copy>span{font-size:10px;margin-top:9px}
.pr-editorial-bottom{margin-top:17px;padding-top:12px;font-size:9px}
.pr-outreach-note{right:0;bottom:0;padding:15px 18px;gap:11px}
.pr-outreach-note strong{font-size:12px}.pr-outreach-note span{font-size:9px}

/* Website Management: integrate the report beneath a shorter photo editor. */
.service-page .wm-scene{padding:6px 8px 0;max-width:420px}
.wm-window-title{font-size:23px;padding:14px 18px}
.wm-window-bar{padding:11px 15px;font-size:10px}
.wm-editor-tabs{padding-inline:18px;font-size:10px;gap:18px}
.wm-photo-editor{padding:16px 18px;gap:16px}
.wm-preview-canvas{height:132px;padding:9px}
.wm-library-image{height:57px;padding:6px;margin-bottom:8px}
.wm-library-caption{font-size:8px}.wm-editor-action{margin-top:9px;padding:8px 11px}
.wm-window-bottom{display:none}
.wm-hero-report{position:relative;right:auto;bottom:auto;transform:none;width:100%;max-width:none;margin-top:12px;padding:12px 16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}
.wm-hero-report>div{grid-column:1/-1;padding-bottom:8px;gap:8px}
.wm-hero-report strong{font-size:12px}.wm-hero-report .icon{width:19px;height:19px}
.wm-hero-report>span{display:block;font-size:9px;padding:8px 0 0}
.wm-hero-report i{display:block;margin-top:3px;font-size:8px}

/* Reporting: make the dashboard and decorative chart proportional to the copy. */
.service-page .rp-scene{padding:6px 8px 61px}
.rp-dashboard-title{font-size:25px;padding:16px 20px}
.rp-dashboard-bar{padding:12px 16px;font-size:10px}
.rp-dashboard-body{padding:16px}.rp-dashboard-tabs{padding-inline:20px;gap:18px;font-size:9px}
.rp-signal-grid{gap:9px}.rp-signal-grid>div{padding:11px 9px}
.rp-signal-grid strong{font-size:11px}.rp-signal-grid span{font-size:8px}
.rp-signal-grid .icon{width:20px;height:20px;margin-bottom:5px}
.rp-chart-panel{margin-top:12px;padding:13px 13px 8px}
.rp-chart-panel>div{margin-bottom:10px}.rp-chart-panel .rp-trend{max-height:70px}
.rp-next-note{bottom:0;right:0;padding:15px 18px;gap:11px}
.rp-next-note strong{font-size:13px}.rp-next-note span{font-size:9px}

/* Ecommerce SEO: let the product content lead rather than a tall frame. */
.service-page .es-scene{padding:6px 8px 61px}
.es-window-bar{padding:12px 16px;font-size:10px}
.es-search-title{font-size:25px;padding:16px 20px}
.es-query{font-size:11px;margin-inline:18px;padding:10px 12px}
.es-search-tabs{padding:14px 20px 0;gap:18px;font-size:9px}
.es-result{padding:18px;gap:14px}.es-result-copy>strong{font-size:17px}
.es-result-copy>p{font-size:10px;margin-top:9px}.es-result-photo{padding:8px}
.es-related-query{padding:12px 18px;font-size:9px}
.es-match-note{bottom:0;right:0;padding:15px 17px;gap:10px;max-width:100%}
.es-match-note strong{font-size:11px}.es-match-note span{font-size:9px}

/* Recent local/AI refinements share natural text spacing, without auto-filled gaps. */
.service-page .ls-scene{padding:6px 8px 58px}
.ls-visit-note{bottom:0;right:0;padding:15px 17px;gap:10px;max-width:100%}
.ls-visit-note strong{font-size:11px}.ls-visit-note span{font-size:9px}
.service-page .ai-scene{padding:6px 8px 61px;max-width:410px}
.ai-monitor-note{bottom:0;padding:14px 17px}
.ai-source-heading{font-size:23px}.ai-source-links{margin-bottom:10px}

@media(max-width:980px){
 .service-layout-grid{grid-template-columns:1fr;gap:24px;padding-bottom:24px}
 .service-page .service-layout-hero h1{font-size:clamp(38px,5.2vw,49px)}
 .service-page .service-layout-copy{max-width:720px}
 .service-page .service-layout-art{justify-self:center;max-width:420px}
 .service-layout-intro{gap:24px}.service-layout-measure{padding:32px;gap:28px}
 .service-layout-feature-visual{height:175px}
 .ec-feature{grid-template-columns:1fr}.ec-feature-visual{border-right:0;border-bottom:1px solid #e7edf7}
 .ec-detail-visual{flex-direction:row}.ec-detail-visual>div{gap:12px}
 .ec-buying-visual{flex-direction:row}.ec-buying-visual>div{flex-direction:column;justify-content:center;padding:16px 10px}
 .ec-care-visual{flex-direction:row;text-align:left}
 .service-closing{padding:32px;gap:26px}
}
@media(max-width:600px){
 .service-page .service-layout-hero{padding-top:16px}
 .service-page:not(.about-page) .service-layout-hero{padding-top:32px}
 
 .service-page .service-layout-hero h1{font-size:36px}
 .service-layout-hero .service-hero-actions{margin-top:18px;gap:14px}
 .service-page .service-layout-copy>p{font-size:16px;line-height:1.75;margin-top:18px}
 .service-page .service-layout-copy>p+p{margin-top:12px}
 .service-page .service-layout-art{max-width:360px;padding-inline:3px}
 .service-page .service-layout-section{padding-top:40px;padding-bottom:40px}
 .service-layout-hero+.service-layout-section{padding-top:30px}
 .service-page .service-layout-section+.service-layout-section{padding-top:0}
 .service-layout-inclusions{padding-block:40px}
 .service-layout-intro,.service-layout-workflow-heading{margin-bottom:24px}
 .service-page .service-layout-process{padding-top:0;padding-bottom:40px}
 .service-layout-measure{padding:28px 24px;gap:25px}
 .service-page .service-layout-faq{padding-top:40px;padding-bottom:36px}
 .service-page .service-layout-faq+.service-layout-section{padding-top:0}
 .service-layout-features{gap:18px}.service-layout-feature-visual{height:175px;padding:16px 20px}
 .service-layout-foundations{padding-block:18px}
 .service-closing{padding:28px 24px;margin-bottom:40px}
 .service-start-section,.service-measure-section{padding-block:40px}
 .service-page .ec-store-scene{padding-right:29px;padding-bottom:72px}
 .ec-store-masthead{padding:15px}.ec-store-masthead>span{font-size:23px}
 .ec-store-scene .ec-phone{width:109px}.ec-store-scene .ec-pickup-note{bottom:22px;padding:10px;max-width:calc(100% - 97px)}
 .ec-phone>span:not(.ec-phone-action){font-size:9px}.ec-phone-action{font-size:6px}
 .ec-retail-photo{min-height:140px;padding:12px}.ec-retail-photo img{width:95px;height:105px}
 .ec-detail-visual{padding:14px;gap:12px}.ec-care-visual{padding:15px}
 .ts-map-title,.pr-editorial-title,.wm-window-title,.rp-dashboard-title,.es-search-title{font-size:23px}
 .ts-product-info>strong{font-size:15px}.ts-product-detail{font-size:8px}
 .pr-editorial-copy>strong{font-size:14px}.pr-editorial-copy>span{font-size:9px}
 .wm-photo-editor{padding:14px;gap:12px}.wm-preview-canvas{height:126px}.wm-library-image{height:54px}
 .wm-hero-report{padding:12px 14px;gap:0 9px}.wm-hero-report strong{font-size:11px}.wm-hero-report>span{font-size:8px}.wm-hero-report i{font-size:7px}
 .rp-signal-grid strong{font-size:10px}.rp-signal-grid span{font-size:7px}
 .es-result-copy>strong{font-size:15px}.es-result-copy>p{font-size:9px}.es-match-note strong{font-size:10px}.es-match-note span{font-size:8px}
 .ls-visit-note strong{font-size:10px}.ls-visit-note span{font-size:8px}
 .ai-source-heading{font-size:22px}
}

/* Balance long opening explanations beneath their heading instead of leaving an empty column. */
.service-page .service-layout-story-intro{grid-template-columns:1fr;gap:24px}
.service-page .service-layout-story-intro>h2{max-width:760px}
.service-layout-story-intro>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;max-width:none}
.service-layout-story-intro>div>p+p{margin-top:0}
@media(max-width:600px){
 .service-page .service-layout-story-intro{gap:20px}
 .service-layout-story-intro>div{grid-template-columns:1fr;gap:18px}
}
