/* Shared editorial contract: late additions never escape the service reading grid. */
main.service-reading-layout{background:var(--paper)}
main.service-reading-layout>:is(.service-story,.gsc-repair-options,.repair-evidence-layout,.service-booking,.customer-paths){box-sizing:border-box;width:min(calc(100% - 40px),1100px);max-width:1100px;margin-inline:auto}
main.service-reading-layout>:is(.service-story,.gsc-repair-options){padding-block:36px 0}
main.service-reading-layout>.gsc-repair-options{background:transparent;border:0;border-top:1px solid var(--line);margin-top:36px}
main.service-reading-layout>:is(.service-story,.gsc-repair-options) h2{font-size:clamp(1.6rem,2.3vw,2rem);line-height:1.3;letter-spacing:-.02em;margin:36px 0 18px;max-width:38ch;overflow-wrap:break-word}
main.service-reading-layout>:is(.service-story,.gsc-repair-options)>h2:first-child{margin-top:0}
main.service-reading-layout>:is(.service-story,.gsc-repair-options) h3{font-size:1.2rem;line-height:1.4;margin:28px 0 12px}
main.service-reading-layout>:is(.service-story,.gsc-repair-options)>p{max-width:78ch;line-height:1.8}
main.service-reading-layout[data-bathroom-design] article.service-story{display:block}
main.service-reading-layout[data-bathroom-design] section[aria-labelledby="bathroom-planning"] :is(h2,h3){font-size:1.2rem;margin:0 0 16px}
main.service-reading-layout[data-bathroom-design] .service-list{grid-template-columns:repeat(2,minmax(0,1fr))}
main.service-reading-layout[data-bathroom-design] .bathroom-materials{padding:24px 28px;border-radius:14px}
main.service-reading-layout[data-bathroom-design] .bathroom-materials h2{margin-top:0}
main.service-reading-layout[data-bathroom-design] .bathroom-project{margin-block:32px;padding:24px 0;background:transparent;border-block:1px solid var(--line);border-radius:0}
main.service-reading-layout[data-bathroom-design] .bathroom-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
main.service-reading-layout[data-bathroom-design] .bathroom-photo-grid picture{aspect-ratio:4/3;border-radius:14px;overflow:hidden}
main.service-reading-layout[data-bathroom-design] .bathroom-photo-grid img{height:100%;object-fit:cover;border-radius:14px}
main.service-reading-layout>.service-booking{padding:28px;margin-top:36px;border-radius:14px}
main.service-reading-layout>.service-booking h2{font-size:clamp(1.7rem,2.5vw,2.2rem);line-height:1.3;margin:10px 0 20px}
main.service-reading-layout>.service-booking p{max-width:78ch}
.renovation-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:24px 0}
.renovation-photo-grid figure{margin:0;min-width:0}
.renovation-photo-grid picture{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:14px}
.renovation-photo-grid img{display:block;width:100%;height:100%;object-fit:cover;border-radius:14px}
.renovation-photo-grid figcaption{font-size:.94rem;font-weight:700;line-height:1.5;margin-top:10px}
.renovation-process{padding-left:24px;max-width:78ch}.renovation-process li{padding:0 0 16px 6px}
.renovation-related{box-sizing:border-box;width:min(calc(100% - 40px),1100px);padding:24px 0;border-top:1px solid var(--line);margin:32px auto}.renovation-related p{max-width:78ch}.renovation-related h2{font-size:1.5rem;line-height:1.3;margin:0 0 16px}
.renovation-nav{display:flex;gap:12px 28px;flex-wrap:wrap;max-width:1100px;padding:18px 0;border-bottom:1px solid var(--line)}.renovation-nav a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
main.service-reading-layout [id]{scroll-margin-top:104px}
/* Related work and reading share one ending; all authored copy stays visible. */
.service-ending{box-sizing:border-box;width:min(calc(100% - 40px),1100px);margin:40px auto 56px;padding:0}
.service-ending-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:36px;align-items:start}
.service-ending-services{min-width:0}
.service-ending-reading{min-width:0}
.service-ending-reading>.service-story{width:auto;max-width:none;margin:0;padding:28px;background:#e2eef1;border:1px solid #d9e7eb;border-radius:14px}
.service-ending-reading>.service-story h2{font-size:1.5rem;line-height:1.4;margin:0 0 16px}
.service-ending-reading>.service-story p{line-height:1.8;margin:0 0 16px;overflow-wrap:anywhere}
.service-ending .related-services{display:block;margin:0}
.service-ending .related-services>.card{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:24px 0;background:transparent;box-shadow:none;overflow:visible}
.service-ending .related-services>.card:first-child{padding-top:0}
.service-ending .related-services>.card::before{display:none}
.service-ending .related-services>.card:hover{transform:none;box-shadow:none}
.service-ending .related-services h3{margin:0 0 12px;font-size:1.2rem;line-height:1.5}
.service-ending .related-services h3 a{text-decoration-thickness:1px;text-underline-offset:4px}
.service-ending .related-services p{margin:0;line-height:1.75}
.service-ending .related-services .bathroom-related-cover{display:block;max-width:220px;margin:0 0 18px}
.service-ending .related-services .bathroom-related-cover img{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover;border-radius:14px}
.service-ending .renovation-related{width:auto;max-width:none;padding:24px 0 0;margin:0;border:0}
.service-ending .renovation-related h2{font-size:1.2rem;line-height:1.5;margin:0 0 12px}
.service-ending .renovation-related p{margin:0 0 12px}
.service-ending .customer-paths{box-sizing:border-box;width:100%;margin:0;padding:28px;background:#e2eef1;border:1px solid #d9e7eb;border-radius:14px;min-width:0}
.service-ending .customer-paths h2{font-size:1.5rem;line-height:1.4;margin:0 0 16px;overflow-wrap:anywhere}
.service-ending .customer-paths p{margin:0 0 20px;line-height:1.8}
.service-ending .customer-paths ul{display:block;padding:0;margin:0;list-style:none}
.service-ending .customer-paths li{margin:0;border-top:1px solid var(--line);padding:16px 0}
.service-ending .customer-paths li:last-child{padding-bottom:0}
.service-ending .customer-paths li a{font-weight:700;line-height:1.6;display:block;padding:4px 0;text-underline-offset:4px}
.service-ending-assessment{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-top:32px;padding:28px 30px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--teal);border-radius:14px}
.service-ending-assessment .service-booking{background:transparent;color:var(--ink);padding:0;margin:0;border:0;width:auto;max-width:none;min-width:0}
.service-ending-assessment .service-booking :is(h2,h3){color:var(--ink);font-size:1.6rem;line-height:1.35;margin:8px 0 16px}
.service-ending-assessment .service-booking p{font-size:1rem;line-height:1.8;margin:0 0 14px;max-width:78ch;overflow-wrap:anywhere}
.service-ending-assessment .service-booking p:last-child{margin-bottom:0}
.service-ending-assessment .service-booking .eyebrow{color:var(--teal);font-size:.76rem}
.service-ending-assessment>.actions{display:flex;flex-direction:column;gap:12px;margin:0;align-self:center}
.service-ending-assessment>.actions .button{white-space:normal;text-align:center;min-width:180px}
.service-ending a:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
@media(max-width:800px){.service-ending-columns{grid-template-columns:minmax(0,1fr);gap:28px}.service-ending-assessment{grid-template-columns:minmax(0,1fr);padding:24px}.service-ending-assessment>.actions{flex-direction:row;flex-wrap:wrap}.service-ending-assessment>.actions .button{min-width:0;flex:1}.service-ending .customer-paths{padding:24px}}
@media(max-width:900px){main.service-reading-layout[data-bathroom-design] .bathroom-photo-grid,.renovation-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}}
@media(max-width:620px){main.service-reading-layout>:is(.service-story,.gsc-repair-options){padding-top:28px}main.service-reading-layout>:is(.service-story,.gsc-repair-options) h2{font-size:1.6rem}main.service-reading-layout[data-bathroom-design] .bathroom-materials{padding:20px}main.service-reading-layout>.service-booking{padding:24px 20px}main.service-reading-layout[data-bathroom-design] .service-list,main.service-reading-layout[data-bathroom-design] .service-steps{display:block}main.service-reading-layout[data-bathroom-design] .service-list li{margin-bottom:16px}.renovation-photo-grid figcaption{font-size:.85rem}}
