/* Defined service chapters: a short route through the detail, then an easy next step. */
.sd-nav { background: #1b1b1b; }
.sd-nav-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 0 30px; padding-block: 8px; }
.sd-nav-label { color: #bdbdbd; font-size: .65rem; font-weight: 700; letter-spacing: .1em; margin-right: 6px; }
.sd-nav a { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; color: #eee; font-size: .78rem; font-weight: 600; text-decoration: none; }
.sd-nav a:hover { color: #fff; text-decoration: underline; }
.sd-nav a:focus-visible { outline-color: #fff; }
.sd-nav .sd-nav-enquire { color: #fff; text-decoration: underline; text-decoration-color: #bfbfbf; }
.sd-section { padding-block: clamp(38px,4vw,58px); border-bottom: 1px solid #d7d7d7; scroll-margin-top: 28px; }
.sd-section h2 { font-size: clamp(1.8rem,2.3vw,2.5rem); line-height: 1.16; }
.sd-heading { margin-bottom: 26px; }
.sd-heading .eyebrow { margin-bottom: 11px; font-size: .68rem; }
.sd-heading h2 { max-width: 24ch; }
.sd-overview,.sd-process,.sd-enquiry { background: #fff; }
.sd-benefits,.sd-faq,.sd-related { background: #ededed; }
.sd-overview .service-detail-grid { grid-template-columns: minmax(0,.9fr) minmax(0,1.15fr); gap: clamp(28px,4vw,76px); }
.sd-overview-copy { min-width: 0; }
.sd-overview .markdown-content { max-width: 75ch; }
.sd-overview .markdown-content h2 { margin: 0 0 19px; }
.sd-overview .markdown-content h3 { font-size: 1.3rem; margin-top: 26px; }
.sd-overview .markdown-content p,.sd-overview .markdown-content ul { line-height: 1.7; margin: 0 0 16px; }
.sd-overview .markdown-content li+li { margin-top: 7px; }
.sd-overview .markdown-content>:last-child { margin-bottom: 0; }
.sd-section .service-help { background: #fff; padding: 24px; gap: 13px; border: 1px solid #c9c9c9; border-top: 3px solid #94192d; border-radius: 4px; }
.sd-section .service-help h3 { font-size: 1.3rem; line-height: 1.3; margin: 0; }
.sd-section .service-help p { color: #555; font-size: .9rem; line-height: 1.65; max-width: 45ch; }
.sd-section .service-help .phone-link { margin: 0; font-size: clamp(1.2rem,1.8vw,1.65rem); min-height: 44px; }
.sd-section .service-help .text-link { border-top: 1px solid #d5d5d5; justify-content: space-between; padding-top: 13px; font-size: .85rem; }
.sd-help-section .service-help { max-width: 650px; }
.sd-overview-note { display: flex; align-items: flex-start; gap: 16px; padding-top: 24px; margin-top: 28px; border-top: 1px solid #484848; }
.sd-overview-note .icon-tile { flex-shrink: 0; }
.sd-overview-note h3 { font-size: 1rem; line-height: 1.4; margin-bottom: 8px; }
.sd-overview-note p { font-size: .9rem; line-height: 1.65; max-width: 48ch; }
.sd-overview .business-hours { margin-top: 28px; }
.sd-section .icon-tile { width: 42px; height: 42px; background: #f1f1f1; color: #94192d; border-radius: 3px; }
.sd-section .icon-tile .ui-icon { width: 23px; height: 23px; }
.sd-benefit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.sd-benefit-card { background: #fff; border: 1px solid #d5d5d5; border-top: 3px solid #232323; border-radius: 4px; padding: clamp(22px,2.1vw,32px); display: flex; align-items: flex-start; gap: 17px; }
.sd-benefit-card h3,.sd-process-steps h3 { font-size: 1.16rem; line-height: 1.35; margin: 0 0 9px; }
.sd-benefit-card p,.sd-process-steps p { color: #555; font-size: .93rem; line-height: 1.7; max-width: 49ch; }
.sd-process-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(22px,3vw,60px); list-style: none; margin: 0; padding: 0; }
.sd-process-steps li { display: flex; gap: 17px; border-top: 1px solid #c9c9c9; padding-top: 22px; }
.sd-step-number { display: flex; align-items: center; justify-content: center; flex: 0 0 38px; width: 38px; height: 38px; background: #1b1b1b; color: #fff; font-size: .76rem; font-weight: 700; border-bottom: 3px solid #94192d; border-radius: 3px; }
.sd-faq-grid { display: grid; grid-template-columns: minmax(240px,.85fr) minmax(0,1.5fr); grid-template-areas: 'intro questions' 'help questions'; grid-template-rows: auto 1fr; align-items: start; gap: 24px clamp(30px,4vw,76px); }
.sd-faq-grid > .sd-heading { grid-area: intro; margin-bottom: 8px; }
.sd-faq-grid > .sd-faq-list { grid-area: questions; }
.sd-faq-grid > .service-help { grid-area: help; }
.sd-faq-list { display: grid; gap: 10px; align-content: start; }
.sd-faq-list details { background: #fff; border: 1px solid #c9c9c9; border-radius: 4px; overflow: hidden; }
.sd-faq-list summary { position: relative; cursor: pointer; list-style: none; padding: 19px 55px 19px 23px; font-size: .98rem; font-weight: 600; line-height: 1.5; }
.sd-faq-list summary::-webkit-details-marker { display: none; }
.sd-faq-list summary::after { content: '+'; position: absolute; right: 22px; top: 16px; color: #94192d; font-size: 1.3rem; font-weight: 500; }
.sd-faq-list details[open] { border-color: #94192d; }
.sd-faq-list details[open] summary::after { content: '−'; }
.sd-faq-list summary:hover { background: #f9f9f9; }
.sd-faq-list summary:focus-visible { outline-offset: -5px; }
.sd-faq-list details p { margin: 0 23px; padding: 0 0 21px; color: #555; font-size: .93rem; line-height: 1.7; max-width: 73ch; }
.sd-overview .sd-enquiry { background: none; min-width: 0; }
.sd-enquiry .sd-heading h2 { font-size: clamp(1.55rem,2.1vw,2.2rem); }
.sd-enquiry .enquiry-card { border: 1px solid #c7c7c7; border-top: 3px solid #94192d; border-radius: 4px; background: #fafafa; box-shadow: none; padding: clamp(22px,2.7vw,42px); }
.sd-enquiry .enquiry-required-note { margin-top: 0; }
.sd-enquiry .enquiry-field input,.sd-enquiry .enquiry-field select,.sd-enquiry .enquiry-field textarea { background: #fff; border-radius: 4px; }
.sd-enquiry .enquiry-fields { gap: 18px; }
.sd-enquiry .enquiry-field label { font-size: .9rem; }
.sd-enquiry .enquiry-hint { font-size: .81rem; }
.sd-enquiry .enquiry-security { background: #eee; border-radius: 4px; }
.sd-enquiry .enquiry-submit { border-radius: 4px; background: #171717; border-color: #171717; }
.sd-enquiry .enquiry-submit:hover { background: #94192d; border-color: #94192d; }
.sd-related .service-link-grid { gap: 14px; }
.sd-related .service-link-grid>a { padding: 20px; font-size: .9rem; line-height: 1.4; border-color: #c9c9c9; border-radius: 4px; min-height: 84px; }
.sd-related .service-link-grid>a:hover { border-color: #94192d; background: #fff; }
@media(max-width:1100px) {
    .sd-benefit-card { flex-direction: column; gap: 15px; padding: 22px; }
    .sd-process-steps { gap: 22px; }
    .sd-process-steps li { flex-direction: column; gap: 15px; }
}
@media(max-width:800px) {
    .sd-nav-inner { gap: 0 23px; }
    .sd-nav-label { display: none; }
    .sd-overview .service-detail-grid { grid-template-columns: 1fr; gap: 28px; }
    .sd-faq-grid { grid-template-columns: 1fr; grid-template-areas: 'intro' 'questions' 'help'; grid-template-rows: auto; gap: 24px; }
    .sd-faq-grid .sd-heading { margin-bottom: 0; }
    .sd-overview-note { display: none; }
    .sd-faq-grid .sd-heading h2 br { display: none; }
    .sd-enquiry .sd-heading h2 { max-width: 28ch; }
    .sd-benefit-grid { gap: 12px; }
}
@media(max-width:600px) {
    .sd-section { padding-block: 32px; }
    .sd-section h2 { font-size: 1.8rem; }
    .sd-heading { margin-bottom: 22px; }
    .sd-nav-inner { gap: 0 22px; padding-block: 7px; }
    .sd-nav a { font-size: .74rem; min-height: 44px; }
    .sd-nav .sd-nav-enquire { margin-left: 0; }
    .sd-benefit-grid,.sd-process-steps { grid-template-columns: 1fr; gap: 14px; }
    .sd-benefit-card { flex-direction: row; gap: 16px; padding: 22px 19px; }
    .sd-benefit-card h3,.sd-process-steps h3 { font-size: 1.09rem; }
    .sd-process-steps li { flex-direction: row; gap: 18px; padding-top: 18px; }
    .sd-process-steps p,.sd-benefit-card p { font-size: .91rem; }
    .sd-faq-list summary { padding: 17px 44px 17px 18px; font-size: .94rem; }
    .sd-faq-list summary::after { right: 17px; top: 14px; }
    .sd-faq-list details p { margin-inline: 18px; font-size: .91rem; }
    .sd-enquiry .enquiry-card { padding: 23px 18px; }
    .sd-related .service-link-grid>a { min-height: 70px; padding: 18px; }
}
/* The first chapter pairs useful context with the primary action on charcoal. */
@media screen {
    main .sd-overview :is(.eyebrow, .markdown-content h2, .markdown-content h3, .sd-heading h2, .sd-overview-note h3) { color: #fff; }
    main .sd-overview :is(.markdown-content, .markdown-content p, .markdown-content ul, .sd-section-intro, .sd-overview-note p) { color: #c7c7c7; }
    main .sd-overview .markdown-content strong { color: #f5f5f5; }
    main .sd-overview .markdown-content a { color: #fff; text-underline-offset: 3px; }
    main .sd-overview .sd-heading::after { background-image: url('./circuit-divider-light.svg'); }
    main .sd-overview .business-hours { border-bottom-color: #484848; }
    main .sd-overview .business-hours p { color: #c7c7c7; }
    main .sd-overview .business-hours .business-hours-time { color: #fff; }
    main .sd-overview .emergency-call { background: #242424; border-left-color: #b82b43; }
    main .sd-overview .emergency-call :is(h4, a, .ui-icon) { color: #fff; }
    main .sd-expectations { background: #e9e9e9; border-bottom: 1px solid #c4c4c4; }
    main .sd-work { background: #fff; }
    main .sd-faq { background: #e9e9e9; border-top: 3px solid #c9c9c9; }
    main .sd-related { background: #fff; border-top: 3px solid #94192d; }
}
@media print {
    .sd-nav,.sd-enquiry { display: none; }
    .sd-section { padding-block: 24px; background: #fff; break-inside: avoid; }
    .sd-faq-list details p { display: block; }
    .sd-overview .service-detail-grid { display: block; }
    .sd-overview-note { display: none; }
}
