/* Laundry pages share a quiet rhythm and one continuous process/equipment area. */
.laundry-page{--section-space:clamp(48px,5.5vw,88px)}
body.laundry-page .page-hero h1{font-size:clamp(44px,5.5vw,84px);line-height:1.1;max-width:680px}
.laundry-page .page-hero{min-height:560px}
.laundry-page .page-hero-copy{padding-block:56px}
.laundry-page .page-hero-copy>p{max-width:540px}
body.laundry-page main h2{font-size:clamp(30px,3.2vw,48px);line-height:1.15}
.laundry-page .block-text,.laundry-page .block-price{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,64px)}
.laundry-page .text-column{max-width:650px}
.laundry-page .block-price{background:#edf2e3}
.laundry-page .block-price .rate{font-size:clamp(42px,4.5vw,68px)}
.laundry-page .block-steps{background:#f2f3ed;color:#171b16;border-bottom:0;padding-bottom:44px}
.laundry-page .steps-list{gap:28px}
.laundry-page .steps-list li{display:grid;grid-template-columns:1fr 76px;grid-template-rows:auto auto 1fr;gap:12px 18px;border-color:#cbd0c3;padding-top:22px}
.laundry-page .steps-list li>span{font-size:26px;line-height:1.2;color:#587300;margin:0;grid-column:1;grid-row:1;align-self:center}
.laundry-page .steps-list .step-diagram{width:76px;height:66px;margin:0;color:#353d2e;grid-column:2;grid-row:1/3;justify-self:end}
.laundry-page .steps-list h3{font-size:23px;margin:0;grid-column:1;grid-row:2}
.laundry-page .steps-list p{font-size:16px;line-height:1.6;color:#51584b;margin:0;grid-column:1/-1;grid-row:3}
.laundry-page .block-gallery:has(.textile-grid){display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:36px;background:#f2f3ed;padding-top:32px;align-items:start}
.laundry-page .block-gallery .gallery-title{margin:0;padding-top:20px;border-top:1px solid #cbd0c3}
.laundry-page .photo-grid.textile-grid{max-width:none;width:100%;margin:0;gap:20px;grid-template-columns:4fr 3fr}
.laundry-page .textile-grid figure{margin:0;background:transparent}
body.laundry-page .photo-grid.textile-grid figcaption{font-size:clamp(26px,2.1vw,32px);font-weight:500;text-wrap:balance;line-height:1.22;letter-spacing:-.02em;color:#171b16;padding:18px 0 0}
.laundry-page .block-links .related-links a{font-size:clamp(21px,2vw,28px)}
@media(max-width:1000px){
 .laundry-page .block-gallery:has(.textile-grid){grid-template-columns:1fr;gap:30px}
 .laundry-page .block-gallery .gallery-title{border:0;padding:0}
 .laundry-page .photo-grid.textile-grid{max-width:860px}
}
@media(max-width:650px){
 body.laundry-page .page-hero h1{font-size:clamp(40px,10.5vw,54px)}
 .laundry-page .page-hero-copy{padding-block:34px}
 .laundry-page .page-hero{min-height:0}
 .laundry-page .page-hero .generated-service-art{padding-top:4px;padding-bottom:28px}
 .laundry-page .block-text,.laundry-page .block-price{grid-template-columns:1fr;gap:24px}
 .laundry-page .block-price .button{margin-top:0}
 .laundry-page .block-steps{padding-bottom:24px}
 .laundry-page .block-steps>h2{margin-bottom:28px}
 .laundry-page .steps-list{grid-template-columns:1fr;gap:22px}
 .laundry-page .steps-list li{grid-template-columns:32px minmax(0,1fr) 58px;grid-template-rows:auto auto;gap:8px 12px;padding-top:20px}
 .laundry-page .steps-list li>span{font-size:20px;grid-column:1;grid-row:1;align-self:start;line-height:1.5}
 .laundry-page .steps-list h3{font-size:21px;grid-column:2;grid-row:1}
 .laundry-page .steps-list .step-diagram{width:58px;height:52px;grid-column:3;grid-row:1}
 .laundry-page .steps-list p{grid-column:2/4;grid-row:2;font-size:15px}
 .laundry-page .block-gallery:has(.textile-grid){padding-top:24px;gap:26px}
 .laundry-page .photo-grid.textile-grid{grid-template-columns:1fr;gap:36px;width:100%;margin:0}
 .laundry-page .photo-grid.textile-grid img{width:100%;max-height:none}
 body.laundry-page .photo-grid.textile-grid figcaption{font-size:28px;line-height:1.2;padding:16px 0 0}
}
