/* A shared page canvas keeps imagery, type and navigation in proportion. */
:root{--layout-max:1680px;--layout-width:min(100vw,var(--layout-max))}
html{background:#eef1f5}
body{width:100%;max-width:var(--layout-max);min-height:100vh;margin-inline:auto;box-shadow:0 0 40px #001a360a}
@media(min-width:1101px){.header .company-logo{width:clamp(310px,calc(var(--layout-width) * .2),336px)}}
@media(min-width:1200px){.header .nav{font-size:16px}}
@media(max-width:800px){body{box-shadow:none}}

/* One consistent disclosure for general website imagery. */
.footer .footer-imagery-disclosure{margin:0;padding:14px 5.8%;background:#f5f7fa;color:#526071;font-size:12px;line-height:1.5;text-align:center;border-top:1px solid #e0e5eb}

.overview-results-preview{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#f3f6f9;border:1px solid #d9e1e9;border-left:4px solid #b99a60;border-radius:8px;padding:30px 32px;margin:28px 0 35px}.overview-results-preview .eyebrow{font-size:10px;letter-spacing:.2em;margin:0 0 6px}.overview-results-preview h2{font-size:32px;line-height:1.15;margin:0 0 10px}.overview-results-preview p{font-size:15px;line-height:1.6;max-width:580px;margin:0;color:#3e4959}.overview-results-preview .btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:14px;white-space:normal;text-align:center;max-width:330px}.overview-results-preview+.eyebrow{margin-top:40px}@media(max-width:800px){.overview-results-preview{display:block;padding:24px 22px;margin:24px 0 30px}.overview-results-preview h2{font-size:29px}.overview-results-preview .btn{margin-top:20px;width:100%;max-width:none;font-size:14px}.overview-results-preview p{font-size:14px}}

.overview-results-preview{padding:22px 30px}

/* A single commercial overview, with two direct section destinations. */
.commercial-section-nav{display:flex;gap:16px;flex-wrap:wrap;padding-block:22px 30px}.commercial-section-nav a{display:inline-flex;gap:20px;align-items:center;justify-content:space-between;padding:14px 24px;border:1px solid #acbbca;border-radius:30px;color:var(--navy);font-weight:550;font-size:15px}.commercial-section-nav a:hover{background:#f0f4f8;border-color:var(--navy)}.commercial-section-nav a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.commercial-overview-section{scroll-margin-top:25px}.commercial-overview-section>.segment-section:first-child{margin-top:0;padding-top:25px}.commercial-overview-section>.segment-columns h3{font-size:29px;line-height:1.2;margin-bottom:14px}.commercial-floor-overview{margin-top:55px;padding-top:30px;border-top:1px solid var(--line)}.commercial-overview-section .overview-results-preview{margin-bottom:40px}
@media(max-width:700px){.commercial-section-nav{gap:12px;padding-block:20px}.commercial-section-nav a{width:100%;padding:13px 20px;font-size:14px}.commercial-floor-overview{margin-top:30px;padding-top:15px}.commercial-overview-section{scroll-margin-top:15px}}

/* Keep the request next to the visitor's current decision. */
.results-grid:not(.is-filtered) .result-plan{display:none}
.results-grid.is-filtered+.reference-cta{display:none}
.request-flow-page .nav>.btn{display:none}

/* Primary service sections lead the typography hierarchy. */
.commercial-overview-section>.segment-section:first-child .segment-section-copy>h2,
#additional-commercial-services>.segment-services>h2{font-size:clamp(42px,calc(var(--layout-width) * .044),56px);font-weight:600;line-height:1.08;letter-spacing:-.025em;color:var(--navy);margin-bottom:25px;text-wrap:balance}
.commercial-overview-section>.segment-section:first-child .segment-section-copy>h2::before,
#additional-commercial-services>.segment-services>h2::before{content:"";display:block;width:56px;height:3px;background:var(--gold);margin-bottom:22px}
.result-service-category>h3{font-size:clamp(26px,calc(var(--layout-width) * .024),32px);font-weight:700;line-height:1.2;letter-spacing:-.025em;color:var(--navy);margin-bottom:22px}
@media(max-width:700px){.commercial-overview-section>.segment-section:first-child .segment-section-copy>h2,#additional-commercial-services>.segment-services>h2{font-size:38px;line-height:1.12;margin-bottom:20px}.commercial-overview-section>.segment-section:first-child .segment-section-copy>h2::before,#additional-commercial-services>.segment-services>h2::before{width:44px;margin-bottom:18px}.result-service-category>h3{font-size:27px;margin-bottom:20px}}

.new-service-overview{background:#f2f5f7;border:1px solid var(--line);border-top:3px solid var(--gold);padding:30px;min-width:0}.new-service-overview>.service-icon{width:58px;height:58px;margin:0 0 20px;color:var(--navy)}.new-service-overview h3{font-size:32px;line-height:1.15}.new-service-overview p,.new-service-overview li{font-size:15px;line-height:1.75}.new-service-overview ul{padding-left:20px;color:var(--muted)}.new-service-overview .eyebrow{font-size:11px}.result-card:has(.new-service-overview) .result-care-content{align-items:start}.results-grid:not(.is-filtered) .new-service-overview{padding:22px}.results-grid:not(.is-filtered) .new-service-overview ul{display:none}@media(max-width:700px){.new-service-overview{padding:24px}.new-service-overview h3{font-size:29px}}

@media(max-width:700px){.results-grid.is-filtered .new-service-overview{margin-bottom:24px}}

/* Results actions: a distinct, prominent next step across all service overviews. */
.overview-results-preview{padding:30px 32px;gap:32px}
.overview-results-preview .btn{flex:0 1 360px;min-width:290px;max-width:380px;min-height:68px;padding:18px 24px;background:linear-gradient(#082448,#001329);color:#fff;border:2px solid #f5f0dc;border-radius:14px;box-shadow:0 5px 0 #001a36,0 10px 20px #001a3617;font-size:18px;font-weight:750;line-height:1.35;letter-spacing:0;text-align:center;gap:18px;transition:background .18s,box-shadow .18s,transform .18s}
.overview-results-preview .btn>span[aria-hidden]{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#ffffff12;color:#fff;font-size:23px;font-weight:500}
.overview-results-preview .btn:hover{background:#143654;transform:translateY(-2px);box-shadow:0 7px 0 #001a36,0 13px 24px #001a3622}
.overview-results-preview .btn:focus-visible{outline:3px solid #001a36;outline-offset:6px}
.overview-results-preview .btn:active{transform:translateY(3px);box-shadow:0 2px 0 #001a36}
@media(max-width:900px){.overview-results-preview{display:block;padding:26px 24px}.overview-results-preview .btn{width:100%;min-width:0;max-width:none;margin-top:24px;font-size:17px;min-height:66px;padding:17px 20px;justify-content:space-between;text-align:left}}
@media(prefers-reduced-motion:reduce){.overview-results-preview .btn{transition:none}.overview-results-preview .btn:hover,.overview-results-preview .btn:active{transform:none}}

/* A separate sticky frame keeps the clipped slider inside its care-guide boundary. */
.comparison-follow{min-width:0}
.results-grid.is-filtered .comparison-follow>.real-pair{position:relative;top:auto;margin:0;width:100%}
@media(min-width:801px){.results-grid.is-filtered .result-care-content{position:relative;overflow:visible}.results-grid.is-filtered .comparison-follow{grid-column:1;grid-row:1;align-self:start;position:-webkit-sticky;position:sticky;top:25px;width:100%;max-width:calc(100vh - 80px);max-width:calc(100svh - 80px)}}
@media(max-width:800px){.results-grid.is-filtered .comparison-follow{position:static;max-width:none;margin:22px 0 30px}}

.service-action-photo{margin:0;overflow:hidden;border:1px solid var(--line);border-top:3px solid var(--gold)}.service-action-photo img{display:block;width:100%;height:auto;object-fit:contain}

/* Align overview comparisons even when service descriptions wrap differently. */
.results-grid:not(.is-filtered){row-gap:0}
.results-grid:not(.is-filtered)>.result-card:not([hidden]){display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
.results-grid:not(.is-filtered)>.result-card>.result-heading{grid-row:1}
.results-grid:not(.is-filtered)>.result-card>.result-care-content{grid-row:2;align-self:start}
.results-grid:not(.is-filtered)>.result-card>.review-explore-link{grid-row:3;align-self:start}
.results-grid:not(.is-filtered) .real-pair{width:100%;aspect-ratio:1}

/* Day porter options expand only when the visitor requests more detail. */
.day-porter-more{margin-top:24px}
.day-porter-more>summary{display:flex;align-items:center;justify-content:space-between;gap:32px;width:max-content;min-width:170px;cursor:pointer;list-style:none;font-family:inherit}
.day-porter-more>summary::-webkit-details-marker{display:none}
.day-porter-more>summary>span{font-size:24px;font-weight:400;line-height:1;transition:transform .15s}
.day-porter-more[open]>summary>span{transform:rotate(45deg)}
.day-porter-more>summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.day-porter-details{padding-top:28px}
.day-porter-details>p{margin-bottom:0}
@media(max-width:700px){.day-porter-more>summary{width:100%;min-width:0}.day-porter-details{padding-top:22px}}

/* Keep care qualifications readable within the metric box. */
.service-care .care-metrics>.care-metrics-disclaimer{grid-column:1/-1;font-size:12px;line-height:1.5;color:var(--muted);margin:0;padding-top:12px;border-top:1px solid var(--line)}

.stone-service-hero{align-items:stretch}.stone-feature-panel{background:var(--navy);color:white;padding:44px;display:flex;flex-direction:column;justify-content:center;min-height:360px}.stone-feature-panel .eyebrow{color:#d2be89}.stone-feature-panel>.service-icon{width:80px;height:80px;color:#d2be89;margin:18px 0}.stone-feature-panel h2{font-size:38px;line-height:1.15;color:white;margin:0 0 18px}.stone-feature-panel p{color:#e0e6ed;font-size:16px;line-height:1.7}.stone-service-content{padding-top:52px}.stone-service-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px;align-items:start}.stone-service-layout>.service-care{display:block;min-width:0}.stone-service-content>.service-faq-block{margin-top:48px;padding-top:36px;border-top:1px solid var(--line)}@media(max-width:800px){.stone-service-layout{grid-template-columns:1fr;gap:30px}.stone-feature-panel{padding:28px;min-height:290px}.stone-feature-panel h2{font-size:32px}}

.stone-service-layout .real-pair{width:100%;aspect-ratio:1}.stone-service-layout>.comparison-follow{position:sticky;top:25px;align-self:start}@media(max-width:800px){.stone-service-layout>.comparison-follow{position:static}}
