/* Shared request and reading layout. Loaded last, after page-specific bundles. */
:root { --ux-ink:#203744; --ux-muted:#536772; --ux-line:#cad5d8; --ux-radius:12px; }
/* Balanced, visibly separated questions with identical response rows. */
body main .qc-layout { max-width:1040px; margin-inline:auto; gap:24px; }
body main .qc-editorial h2 { max-width:850px; font-size:clamp(28px,3vw,38px); line-height:1.2; }
body main .qc-editorial-rule { display:none; }
body main .qc-purpose { margin-top:14px; padding:0; border:0; background:none; font-size:15px; max-width:78ch; }
body main .qc-editorial>small { font-size:13px; line-height:1.5; }
body main .qc-card { padding:24px; border:1px solid var(--ux-line); border-radius:12px; box-shadow:none; }
body main .qc-card-header { font-size:13px; letter-spacing:0; text-transform:none; }
body main .qc-questions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:stretch; margin:20px 0; }
body main .qc-questions fieldset {
  display:flex; flex-direction:column; min-width:0; margin:0; padding:20px 16px;
  border:1px solid #ccd8d8; border-radius:10px; background:#f8faf9;
}
body main .qc-questions legend { float:left; display:flex; width:100%; min-height:72px; margin:0 0 16px; font-size:15px; line-height:1.45; gap:10px; }
body main .qc-step { width:30px; height:30px; flex-basis:30px; font:600 14px/1 Inter,Arial,sans-serif; }
body main .qc-options { display:grid; grid-template-columns:.85fr 1.35fr .85fr; gap:6px; width:100%; margin:auto 0 0; }
body main .qc-options label span { min-width:0; min-height:44px; padding:10px 5px; font-size:13px; }
body main .qc-questions fieldset.is-answered { border-color:#517c80; background:#f1f6f4; }
body main .qc-questions fieldset:last-child { border-bottom:1px solid #ccd8d8; }
body main .qc-questions fieldset.is-answered:last-child { border-bottom-color:#517c80; }
body main .qc-result { margin-top:0; padding:18px 20px; border-radius:10px; }
body main .qc-result :is(p,li) { font-size:14px; line-height:1.55; }
body main .qc-next { justify-content:center; width:auto; min-width:220px; margin-top:18px; padding:12px 24px; font-size:15px; }
/* Static imagery and a full-width checklist eliminate the long image rail. */
body main .image-story-layout--active>.image-story { position:static; top:auto; }
body main .ux-acceptance-lead { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:28px; align-items:start; margin-bottom:24px; }
body main .ux-acceptance-lead>.image-story { position:static; max-width:420px; }
body main .ux-acceptance-lead .image-story-picture img { max-height:260px; object-fit:contain; }
body main .ux-acceptance-lead .method-acceptance__aside { display:grid; grid-template-columns:1fr; padding:24px; gap:20px; margin:0; }
body main .ux-acceptance-lead .method-acceptance__aside>div+div { margin:0; padding:20px 0 0; border-left:0; border-top:1px solid #657782; }
body main .method-acceptance__checks.ux-acceptance-checks { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; border:0; background:none; }
body main .method-acceptance__checks.ux-acceptance-checks>li {
  display:grid; grid-template-columns:30px minmax(0,1fr); gap:12px;
  padding:22px; border:1px solid var(--ux-line); border-radius:12px; background:#fff;
}
body main .ux-acceptance-checks .method-acceptance__record { grid-column:1/-1; align-self:end; margin-top:4px; padding:14px 0 0; border-left:0; border-top:1px solid #d4dfe0; }
body main .ux-acceptance-checks h3 { margin-top:3px; font:600 17px/1.35 Inter,Arial,sans-serif; }
body main .method-acceptance :is(.method-acceptance__checks p,.method-acceptance__aside p) { font-size:14px; line-height:1.6; }
body main .method-acceptance__record strong, body main .method-acceptance__aside span { font-size:13px; letter-spacing:0; text-transform:none; }
body main :is(.sv-route-grid,.lp-related-grid,.bv-related__grid,.drill-guide-grid) { align-items:stretch; }
body main :is(.sv-route-grid,.lp-related-grid)>a { height:100%; min-height:0; padding:22px; border:1px solid var(--ux-line); border-radius:12px; }
body main :is(.sv-route-grid,.lp-related-grid)>a strong { font-size:19px; line-height:1.35; }
body main :is(.sv-route-grid,.lp-related-grid)>a small { font-size:14px; line-height:1.6; }
body main .bv-related__card { min-height:340px; }
body main .bv-related__copy { display:flex; flex-direction:column; justify-content:end; min-height:185px; }
body main .bv-related__copy p { font-size:14px; line-height:1.55; }
body main :is(.sv-route-grid,.lp-related-grid,.bv-related__grid)>a:hover { box-shadow:0 6px 18px #17374612; }
body main :is(.sv-route-grid,.lp-related-grid,.bv-related__grid)>a:focus-visible { outline:3px solid #337385; outline-offset:3px; }
/* Decorative outbound marks are removed; menu, disclosure and map controls remain. */
.bv-related__arrow,.visual-v2-hint,.qc-result-icon { display:none!important; }
body main :is(.service-intro,.content-guide-note,.service-practice,.drill-scenarios,.method-fit,.method-scope) p { font-size:15px; line-height:1.65; }
body main :is(.service-intro,.content-guide-note,.service-practice,.method-fit,.method-scope) h2 { font-size:clamp(28px,3vw,38px); line-height:1.2; }
body main :is(.sv-scope-grid,.sp-card-grid,.method-fit__grid,.method-scope__grid,.construction-fit__grid,.setup-scope__grid) { align-items:stretch; gap:20px; }
body main :is(.sv-scope-grid,.sp-card-grid,.method-fit__grid,.method-scope__grid,.construction-fit__grid,.setup-scope__grid)>:is(article,div) { min-width:0; height:100%; border-radius:12px; }
body main :is(.sv-estimate-grid,.sv-estimate-editor,.sv-estimate-result,.sv-construction-choice) { min-width:0; }
body main .sv-construction-choice select { display:block; width:100%; max-width:100%; min-width:0; min-height:48px; padding:10px 30px 10px 12px; border:1px solid #aebfc7; border-radius:8px; background:#fff; color:var(--ux-ink); font:400 16px/1.5 Inter,Arial,sans-serif; text-overflow:ellipsis; }
@media(max-width:1050px) {
  body main #form .home-request-grid { grid-template-columns:1fr; max-width:760px; gap:24px; }
  body main .home-request-steps { display:none; }
  body main .home-request-intro .home-request-note { margin-top:12px; }
  body main .qc-questions { grid-template-columns:1fr; }
  body main .qc-questions legend { min-height:0; }
  body main .qc-options { width:min(100%,340px); margin:0; }
  body main .method-acceptance__checks.ux-acceptance-checks { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  body main .ux-request.ux-request, body dialog .ux-request.ux-request { padding:20px; }
  body dialog .ux-request.ux-request { padding:0; }
  body main .ux-request.ux-request :is(.lp-brief-fields,.cp-brief-fields,.request-fields),
  body .ux-request.ux-request :is(.ux-form-fields,.service-lead-form__fields) { grid-template-columns:1fr; gap:18px; }
  body .ux-request.ux-request .ux-field--wide { grid-column:auto; }
  body main .ux-acceptance-lead { grid-template-columns:1fr; gap:20px; }
  body main .ux-acceptance-lead>.image-story { max-width:420px; width:100%; margin:auto; }
  body main .qc-card { padding:18px; }
  body main .qc-questions fieldset { padding:18px 14px; }
  body main .qc-next { width:100%; min-width:0; }
  body .ux-request.ux-request .home-request-card-head { font-size:16px; }
}
