/* Checklist pages only. Shared navigation, forms and consent retain their rules. */
.checklist-page section { padding-block: 48px; }
.checklist-page h1, .checklist-page h2, .checklist-thanks h1, .checklist-thanks h2 { color: var(--color-dark-blue); }
.checklist-page h1 { font-size: clamp(28px,3vw,40px); line-height:1.18; margin:12px 0 20px; }
.checklist-page h2, .checklist-thanks h2 { font-size:clamp(24px,2.4vw,32px); line-height:1.25; }
.checklist-hero, .checklist-final { background:var(--color-cream); }
.checklist-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.checklist-intro > p { font-size:18px; }
.checklist-cover-figure { position:relative; width:280px; max-width:100%; margin:24px auto 0; }
.checklist-cover { display:block; width:100%; height:auto; margin:0; box-shadow:0 8px 24px rgb(0 0 0 / .16); }
.checklist-image-link { display:block; border-radius:2px; text-decoration:none; cursor:zoom-in; }
.checklist-image-link:focus-visible { outline:3px solid var(--color-dark-blue); outline-offset:5px; }
.checklist-image-cue { display:block; margin-top:4px; font-size:12px; line-height:1.5; color:var(--color-dark-blue); text-decoration:underline; text-underline-offset:3px; }
.checklist-cover-figure figcaption { text-align:center; }
.checklist-facts, .checklist-topics { padding-left:22px; }
.checklist-facts li, .checklist-topics li { margin:8px 0; }
.checklist-form-card { background:#fff; border:1px solid var(--color-primary); border-radius:12px; padding:24px; scroll-margin-top:175px; }
.checklist-form-card h2 { margin-top:0; }
.checklist-consent { display:flex; gap:12px; align-items:flex-start; padding-block:12px; cursor:pointer; }
.checklist-consent input { flex:0 0 22px; width:22px; height:22px; margin-top:3px; accent-color:var(--color-primary); }
.checklist-small { font-size:14px; line-height:1.6; }
.checklist-narrow { max-width:850px; }
.checklist-tint { background:var(--color-pale-blue); }
.checklist-benefit-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; }
.checklist-previews { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.checklist-previews figure { margin:0; }
.checklist-previews img { display:block; width:100%; height:auto; border:1px solid #cad4e4; }
.checklist-previews figcaption { font-size:14px; margin-top:8px; }
.checklist-steps { padding-left:24px; }
.checklist-steps li { padding:6px 0 6px 4px; }
.checklist-final { text-align:center; }
.checklist-thanks { padding-block:48px; min-height:70vh; }
@media(max-width:767px) { .checklist-page section { padding-block:32px; } .checklist-hero-grid,.checklist-benefit-grid { grid-template-columns:minmax(0,1fr); gap:24px; } .checklist-cover-figure { width:180px; } .checklist-intro { display:flex; flex-direction:column; } .checklist-form-card { padding:20px; scroll-margin-top:24px; } .checklist-small { font-size:15px; } }

.checklist-page .section-eyebrow, .checklist-thanks .section-eyebrow { color:var(--color-dark-blue); }
.checklist-mobile-jump { display:none; }
.checklist-form-card .enquiry-field { margin-bottom:14px; }
.checklist-form-card p { margin-block:10px; }
.checklist-form-card [data-form-help] { font-size:14px; line-height:1.5; }
@media(max-width:767px) { .checklist-mobile-jump { display:inline-block; align-self:flex-start; margin-top:8px; } }

/* Approved mobile refinements; desktop rules remain unchanged. */
@media (max-width: 767px) {
  .checklist-page h1, .checklist-page h2,
  .checklist-thanks h1, .checklist-thanks h2 { text-align: center; }
  .checklist-page p, .checklist-thanks p { text-align: left; }
  .checklist-page .checklist-intro > .section-eyebrow { text-align: center; }
  .checklist-mobile-jump { align-self: center; min-height: 48px; }
  .checklist-final .button, .checklist-thanks .button {
    display: block; width: fit-content; max-width: 100%;
    margin-inline: auto; min-height: 48px; text-align: center;
  }
  .checklist-form-card .enquiry-submit {
    display: block; width: calc(100% + 8px); min-height: 48px;
    margin-inline: -4px; text-align: center;
  }
  .checklist-page .checklist-hero { padding-top: 24px; }
  .checklist-hero-grid { gap: 20px; }
  .checklist-intro > p:not(.section-eyebrow) { margin-bottom: 12px; }
  .checklist-facts { margin-block: 8px 12px; }
  .checklist-cover-figure { margin-top:16px; }
  .checklist-cover-figure .checklist-image-cue { position:absolute; top:100%; left:0; width:100%; margin-top:2px; }
}

/* Native modal makes the rest of the page inert; full-size images load on demand. */
.checklist-lightbox { width:calc(100% - 32px); max-width:1100px; max-height:calc(100dvh - 32px); padding:0; border:0; border-radius:12px; background:var(--color-cream); color:var(--color-dark-blue); box-shadow:0 16px 60px rgb(0 0 0 / .35); }
.checklist-lightbox::backdrop { background:rgb(0 0 0 / .75); }
.checklist-lightbox-panel { display:flex; flex-direction:column; max-height:calc(100dvh - 32px); }
.checklist-lightbox-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px 0; }
.checklist-lightbox-toolbar h2 { margin:0; font-size:20px; line-height:1.3; color:var(--color-dark-blue); }
.checklist-lightbox-close,.checklist-lightbox-zoom { flex-shrink:0; min-height:44px; min-width:44px; border:1px solid var(--color-dark-blue); border-radius:6px; background:#fff; color:var(--color-dark-blue); cursor:pointer; font:inherit; }
.checklist-lightbox-close { font-size:28px; line-height:1; }
.checklist-lightbox-zoom { padding:8px 12px; }
.checklist-lightbox-tools { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:8px 16px 12px; }
.checklist-lightbox-tools p { margin:0; font-size:14px; line-height:1.5; }
.checklist-lightbox-status { margin:0; padding:0 16px 8px; font-size:14px; }
.checklist-lightbox-viewport { min-height:0; overflow:auto; overscroll-behavior:contain; padding:12px; background:#e6e9ee; }
.checklist-lightbox-image { display:block; width:100%; max-width:900px; height:auto; margin-inline:auto; }
.checklist-lightbox-image:not([src]) { display:none; }
.checklist-lightbox-viewport[data-zoomed="true"] .checklist-lightbox-image { width:1200px; max-width:none; }
.checklist-lightbox button:focus-visible,.checklist-lightbox-viewport:focus-visible { outline:3px solid var(--color-primary); outline-offset:-4px; }
@media(max-width:767px) { .checklist-lightbox { width:calc(100% - 16px); max-height:calc(100dvh - 16px); } .checklist-lightbox-panel { max-height:calc(100dvh - 16px); } .checklist-lightbox-toolbar,.checklist-lightbox-tools { padding-inline:12px; } .checklist-lightbox-toolbar h2 { font-size:18px; } .checklist-lightbox-tools { gap:8px; } .checklist-lightbox-tools p { font-size:12px; } }
