.switch-guide-page .money-hero-grid { grid-template-columns: minmax(0,1.04fr) minmax(430px,.96fr); }
.switch-guide-page .switch-postcode-form { margin-top: 18px; }
.switch-guide-page .switch-postcode-form label { display: block; margin-bottom: 7px; color: var(--navy); font-size: 12px; font-weight: 750; }
.switch-guide-page .dsl-postcode-row { grid-template-columns: minmax(0,1fr) 285px; }
.trigger-grid, .continuity-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.trigger-grid article, .continuity-grid article { min-width: 0; padding: 16px; border: 1px solid var(--border); border-radius: 8px; background: #fff; }
.trigger-grid article > span { display: block; margin-bottom: 7px; color: #6a96b9; font-size: 10px; font-weight: 850; }
.trigger-grid h3, .precheck-grid h3, .flow-list h3, .termination-grid h3, .continuity-grid h3, .cost-grid h3, .route-card-grid h3 { margin: 0; color: var(--navy); font-size: 15px; line-height: 1.3; }
.trigger-grid p, .precheck-grid p, .flow-list p, .termination-grid p, .continuity-grid p, .details-grid p, .cost-grid p, .route-card-grid p { margin: 6px 0 0; color: var(--muted); font-size: 13px; line-height: 1.46; }
.precheck-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; }
.precheck-grid article { min-width: 0; min-height: 120px; padding: 13px 11px; display: grid; grid-template-columns: 24px 1fr; gap: 7px; border: 1px solid #dbe6ee; border-radius: 7px; background: #fff; }
.precheck-grid b { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: #0871cb; background: #e9f4fc; font-size: 9px; }
.precheck-grid h3 { font-size: 13px; }
.precheck-grid p { font-size: 11.5px; line-height: 1.38; }
.flow-list { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; list-style: none; }
.flow-list li { min-width: 0; padding: 16px; display: grid; grid-template-columns: 30px 1fr; gap: 10px; border: 1px solid #dbe5ed; border-radius: 8px; background: #fff; }
.flow-list li > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--blue); font-size: 11px; font-weight: 850; }
.flow-note { margin: 17px 0 0; padding: 13px 15px; border-left: 3px solid #eca53b; color: #435b70; background: #fff8eb; font-size: 13px; line-height: 1.5; }
.termination-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.termination-grid article { padding: 20px; border: 1px solid #dce6ed; border-radius: 8px; background: #fff; }
.termination-grid .option-label { margin: 5px 0 13px; color: var(--blue); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.termination-grid ul { margin: 0; padding: 0; display: grid; gap: 7px; list-style: none; }
.termination-grid li { position: relative; padding-left: 18px; color: #3f566a; font-size: 13px; line-height: 1.45; }
.termination-grid li::before { content: "✓"; position: absolute; left: 0; color: #15983b; font-weight: 850; }
.termination-grid article > p:last-child { margin-top: 14px; padding-top: 12px; border-top: 1px solid #e6edf2; }
.continuity-layout { display: grid; grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr); gap: 30px; align-items: start; }
.continuity-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.continuity-grid article { padding: 13px; }
.continuity-grid h3 { font-size: 13px; }
.continuity-grid p { font-size: 11.5px; }
.details-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.details-grid article { padding: 21px; border: 1px solid #dce6ed; border-radius: 8px; background: #fff; }
.details-grid h2 { margin: 5px 0 0; font-size: 21px; }
.cost-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.cost-grid article { min-width: 0; padding: 15px; border-left: 3px solid #e7b866; background: #f9fafb; }
.route-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.route-card-grid a { min-width: 0; padding: 19px; display: flex; flex-direction: column; border: 1px solid #d6e3ed; border-radius: 8px; color: inherit; background: #fff; box-shadow: 0 3px 12px rgba(8,35,63,.035); }
.route-card-grid a > span { margin-bottom: 8px; color: #6389a8; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.route-card-grid b { margin-top: 16px; color: var(--blue); font-size: 12px; }
.switch-provider-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.switch-provider-grid > span { min-height: 52px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; border: 1px solid #d7e3ec; border-radius: 7px; color: var(--navy); background: #fff; font-size: 13px; font-weight: 750; cursor: default; }
.switch-provider-grid b { color: var(--blue); }
.moving-panel, .trust-panel { padding: 23px 25px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 30px; align-items: start; border: 1px solid #d6e4ed; border-radius: 8px; background: #fff; }
.moving-panel h2, .trust-panel h2 { margin: 5px 0 0; }
.moving-panel p { margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.moving-panel ul, .trust-panel ul { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 15px; list-style: none; }
.moving-panel li, .trust-panel li { position: relative; padding-left: 19px; color: #3f566a; font-size: 13px; line-height: 1.42; }
.moving-panel li::before, .trust-panel li::before { content: "✓"; position: absolute; left: 0; color: #15983b; font-weight: 850; }
.trust-section { padding-top: 10px; }
.trust-panel { grid-template-columns: .75fr 1.25fr; background: #f2f8fc; }
.trust-panel > p { grid-column: 2; margin: 3px 0 0; color: var(--muted); font-size: 12.5px; }
.trust-panel a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 1080px) {
    .switch-guide-page .money-hero-grid { grid-template-columns: minmax(0,1fr) 430px; }
    .precheck-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .cost-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .switch-provider-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 820px) {
    .switch-guide-page .money-hero-grid { grid-template-columns: 1fr; }
    .switch-guide-page .availability-panel { max-width: 680px; }
    .trigger-grid, .flow-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .precheck-grid, .cost-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .continuity-layout { grid-template-columns: 1fr; gap: 18px; }
    .moving-panel, .trust-panel { grid-template-columns: 1fr; gap: 16px; }
    .trust-panel > p { grid-column: 1; }
}
@media (max-width: 620px) {
    .switch-guide-page .section-space { padding: 30px 0; }
    .switch-guide-page .page-section-heading { margin-bottom: 13px; }
    .switch-guide-page .switch-postcode-form { margin-top: 12px; }
    .switch-guide-page .dsl-postcode-row { grid-template-columns: 1fr; }
    .trigger-grid, .precheck-grid, .cost-grid, .switch-provider-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .trigger-grid article, .cost-grid article { padding: 11px 9px; }
    .trigger-grid h3, .precheck-grid h3, .flow-list h3, .termination-grid h3, .continuity-grid h3, .cost-grid h3, .route-card-grid h3 { font-size: 14px; }
    .trigger-grid p, .cost-grid p { font-size: 14px; line-height: 1.37; }
    .precheck-grid article { min-height: 0; padding: 10px 8px; display: block; }
    .precheck-grid b { margin-bottom: 6px; }
    .precheck-grid p { font-size: 13px; }
    .flow-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
    .flow-list li { padding: 11px 10px; }
    .flow-list p { font-size: 13px; line-height: 1.38; }
    .termination-grid { grid-template-columns: 1fr; gap: 9px; }
    .termination-grid article { padding: 14px; }
    .termination-grid li, .termination-grid p { font-size: 14px; }
    .continuity-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .continuity-grid article { padding: 10px 8px; }
    .continuity-grid h3 { font-size: 13px; }
    .continuity-grid p { font-size: 13px; line-height: 1.35; }
    .details-grid { grid-template-columns: 1fr; gap: 9px; }
    .details-grid article { padding: 14px; }
    .details-grid h2 { font-size: 19px; }
    .details-grid p { font-size: 14px; line-height: 1.45; }
    .route-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .route-card-grid a:last-child { grid-column: 1 / -1; }
    .route-card-grid a { padding: 13px; }
    .route-card-grid p { font-size: 14px; }
    .switch-provider-grid > span { min-height: 46px; padding: 0 10px; font-size: 12px; }
    .moving-panel, .trust-panel { padding: 15px 13px; }
    .moving-panel ul, .trust-panel ul { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px 10px; }
    .moving-panel p, .moving-panel li, .trust-panel li, .trust-panel > p { font-size: 14px; }
}
