/* A shared, optional guide below the check keeps the main result short. */
.check-journey-page .certificate-guide-link { display: inline-block; margin-top: 16px; padding-block: 8px; color: #a8e8d6; font-size: .9375rem; text-decoration: underline; text-underline-offset: 4px; }
.check-journey-page .certificate-guide { margin-top: 28px; border: 1px solid #52736c; border-radius: 12px; background: #111d19; scroll-margin-top: calc(var(--mobile-header-height, 0px) + 22px); }
.certificate-guide > summary { padding: 24px; cursor: pointer; color: #a8e8d6; }
.certificate-guide > summary > span { display: inline-grid; gap: 8px; vertical-align: middle; width: calc(100% - 28px); }
.certificate-guide > summary small { font-size: .875rem; letter-spacing: .06em; }
.certificate-guide > summary strong { font-family: var(--heading); font-size: clamp(1.2rem, 2vw, 1.65rem); color: #f2f8f4; line-height: 1.4; }
.certificate-guide > summary > span > span { font-size: 1rem; color: #bfd0c7; line-height: 1.5; }
.certificate-guide > summary:hover { background: #63d8c30b; border-radius: 12px; }
.certificate-guide[open] > summary { border-bottom: 1px solid #38574e; }
.certificate-guide-body { padding: 28px; color: #d5e2da; font-size: 1rem; line-height: 1.6; }
.certificate-guide-body h2, .certificate-guide-body h3 { color: #f2f8f4; line-height: 1.35; }
.certificate-guide-body h2 { font-size: 1.4rem; margin: 0 0 12px; }
.certificate-guide-body h3 { font-size: 1.125rem; margin: 0 0 12px; }
.certificate-guide-body p { margin-block: 12px; }
.certificate-types { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.certificate-type { padding: 22px; border-radius: 8px; min-width: 0; border: 1px solid #517da0; border-top: 4px solid #7dbded; background: #142737; }
.certificate-type-consumption { border-color: #437365; border-top-color: #63d8c3; background: #143127; }
.certificate-type .certificate-type-kicker { margin: 0 0 8px; color: #aedbfa; font-size: .875rem; font-weight: 650; letter-spacing: .05em; }
.certificate-type-consumption .certificate-type-kicker { color: #94e6ca; }
.certificate-type h2 { font-size: clamp(1.25rem, 2vw, 1.55rem); overflow-wrap: anywhere; }
.certificate-type > p:last-child { margin-bottom: 0; }
.certificate-eligibility { margin-top: 30px; }
.certificate-table { width: 100%; border-collapse: collapse; margin-top: 22px; text-align: left; font-size: 1rem; }
.certificate-table th, .certificate-table td { padding: 18px; border-bottom: 1px solid #385047; vertical-align: middle; }
.certificate-table thead th { background: #20362e; color: #e5f2e8; font-size: .9375rem; }
.certificate-table tbody th { width: 55%; font-weight: 650; color: #f2f8f4; }
.certificate-table tbody th small { display: block; font-weight: 400; font-size: .9375rem; line-height: 1.55; color: #c5d5cb; margin-top: 6px; }
.certificate-table tbody tr:nth-child(even) { background: #15261f; }
.certificate-table td strong { font-size: .9375rem; font-weight: 650; }
.certificate-required { color: #b8dafe; }
.certificate-yes { color: #b0e993; }
.certificate-no { color: #f0c790; }
.certificate-cell-label { display: none; }
.certificate-standard-note { padding: 16px 20px; border-left: 3px solid #c5b0f4; background: #242033; border-radius: 0 6px 6px 0; }
.certificate-guide-body .certificate-source, .certificate-guide-body .certificate-review { font-size: .875rem; color: #b8ccc1; }
.certificate-guide-body a { color: #a8e8d6; text-decoration: underline; text-underline-offset: 4px; }
.certificate-data { margin-top: 26px; padding: 22px; border: 1px solid #426e62; border-radius: 8px; background: #142a22; }
.certificate-data ul { padding-left: 22px; margin-bottom: 0; }
.certificate-data li + li { margin-top: 10px; }
.certificate-exceptions { margin-top: 24px; border-block: 1px solid #385047; padding-block: 8px; }
.certificate-exceptions > summary { cursor: pointer; padding-block: 12px; font-size: 1rem; color: #bfdecf; font-weight: 600; }
.certificate-guide-footer { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; margin-top: 24px; }
.check-journey-page .certificate-guide-footer .button { color: #d3f5df; border: 1px solid #719d7d; background: #1b3324; white-space: normal; text-decoration: none; min-height: 48px; }
.certificate-guide-back { padding-block: 12px; font-size: .9375rem; }

/* Real tablet imagery carries the consultation setting; all diagram labels
   remain live text. Intrinsic grid fractions keep the overlay inside the image's
   measured screen bounds even when a visitor enlarges the text. */
.certificate-consultation { container-type: inline-size; }
.certificate-consultation-heading { display: flex; justify-content: space-between; gap: 22px; align-items: center; }
.certificate-consultation-heading .certificate-type-kicker { margin: 0 0 8px; font-size: .875rem; letter-spacing: .08em; color: #abe773; }
.certificate-consultation-heading h2 { font: 700 clamp(1.5rem, 2.4vw, 2.1rem)/1.25 var(--heading); margin: 0; }
.certificate-consultation-heading p:last-child { margin: 10px 0 0; color: #bdd2c6; }
.certificate-adviser { display: flex; gap: 12px; align-items: center; flex: 0 0 auto; font-size: .9375rem; color: #f2f8f4; }
.certificate-adviser img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; object-position: center 20%; border: 2px solid #abe773; }
.certificate-adviser small { display: block; font-size: .875rem; color: #abc7b8; }
.certificate-tablet-stage { padding: 28px 8px 24px; perspective: 1800px; }
.certificate-tablet { position: relative; display: grid; grid-template-columns: 9.57% minmax(0, 1fr) 9.57%; grid-template-rows: 8.3fr 80.86fr 10.84fr; transform: rotateX(3deg) rotateY(-3deg) rotateZ(-1.15deg); transform-origin: center; isolation: isolate; }
.certificate-tablet-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; border-radius: 22px; pointer-events: none; z-index: -1; }
.certificate-tablet-screen { grid-column: 2; grid-row: 2; min-width: 0; padding: clamp(14px, 1.8vw, 25px); border-radius: 16px; background: #10211b; box-shadow: inset 0 0 30px #020f0920; }
.certificate-screen-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; padding-bottom: 18px; margin-bottom: 20px; border-bottom: 1px solid #416353; font-size: .875rem; color: #b7d5c4; }
.certificate-screen-heading > span:first-child { color: #b5ed81; font-weight: 700; letter-spacing: .04em; }
.certificate-flow { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-rows: repeat(4, minmax(54px, auto)) minmax(96px, auto); gap: 28px 12px; }
.certificate-flow-lines { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.certificate-connector { fill: none; stroke: #85a993; stroke-width: 1.65; stroke-linejoin: round; }
.connector-demand { stroke: #b9ed7d; }
.connector-choice { stroke: #66dfbf; }
.certificate-flow-node { z-index: 1; padding: 12px 8px; border: 1px solid #526d5d; border-radius: 9px; background: #20372a; color: #eaf6ee; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; text-align: center; line-height: 1.35; min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
.certificate-flow-node strong { font-size: 1rem; font-weight: 700; }
.certificate-flow-node small, .certificate-flow-node > span { font-size: .875rem; }
.certificate-flow-node small { color: #bad2c2; }
.flow-new { grid-column: 1; grid-row: 1; }
.flow-existing { grid-column: 2 / 6; grid-row: 1; }
.flow-small { grid-column: 2 / 5; grid-row: 2; }
.flow-many { grid-column: 5; grid-row: 2; }
.flow-older { grid-column: 2 / 4; grid-row: 3; }
.flow-newer { grid-column: 4; grid-row: 3; }
.flow-no { grid-column: 2; grid-row: 4; border-color: #a0ba71; }
.flow-yes { grid-column: 3; grid-row: 4; border-color: #59b295; }
.flow-demand { grid-column: 1 / 3; grid-row: 5; background: #b5e979; border-color: #d0f7a5; }
.flow-choice { grid-column: 3 / 6; grid-row: 5; background: #69d9b9; border-color: #9af0d6; }
.flow-demand, .flow-choice, .flow-demand small, .flow-choice small { color: #122b21; }
.flow-demand strong, .flow-choice strong { font-family: var(--heading); font-size: clamp(1.05rem, 1.5vw, 1.35rem); }
.certificate-guide-body .certificate-screen-note { margin: 18px 0 0; color: #c0d5c9; font-size: .875rem; line-height: 1.5; }
.certificate-guide-body .certificate-flow-footnote { margin: 8px 0 24px; font-size: .875rem; color: #b8d0c1; line-height: 1.65; }
.certificate-mobile-paths { display: none; }
.certificate-full-details { border: 1px solid #507660; border-radius: 10px; background: #102219; }
.certificate-full-details > summary { padding: 20px; cursor: pointer; color: #b9ec96; font-size: 1rem; font-weight: 650; }
.certificate-full-details-body { padding: 4px 20px 22px; }
.certificate-type-demand { border-color: #638c42; border-top-color: #b5e979; background: #21361c; }
.certificate-type-demand .certificate-type-kicker { color: #c2ef99; }
.certificate-required { color: #c2ef99; }
@container (max-width: 700px) {
  .certificate-consultation-heading { display: block; }
  .certificate-adviser { margin-top: 18px; }
  .certificate-tablet-stage { display: none; }
  .certificate-mobile-paths { display: grid; gap: 16px; list-style: none; padding: 0; margin: 24px 0; }
  .certificate-mobile-paths li { display: flex; gap: 14px; padding: 20px 16px; border: 1px solid #42644f; border-radius: 12px; background: #14291e; }
  .certificate-path-number { color: #aee477; font-size: .875rem; font-weight: 700; }
  .certificate-mobile-paths h3 { margin-top: 0; }
  .certificate-mobile-paths p { font-size: 1rem; }
  .certificate-path-result { padding: 12px; border-radius: 6px; color: #182e18; background: #b5e979; font-weight: 650; }
  .certificate-path-result.is-choice { background: #69d9b9; color: #122b21; }
}
@media (prefers-reduced-motion: reduce) {
  .certificate-tablet { transform: none; }
}
@media print {
  .certificate-tablet { transform: none; }
  .certificate-tablet-photo { display: none; }
}
@media (max-width: 700px) {
  .certificate-guide > summary { padding: 20px 16px; }
  .certificate-guide-body { padding: 20px 16px; }
  .certificate-full-details-body { padding: 0 12px 18px; }
  .certificate-types { grid-template-columns: minmax(0, 1fr); }
  .certificate-type, .certificate-data { padding: 18px; }
  .certificate-table, .certificate-table tbody { display: block; }
  .certificate-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .certificate-table tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 14px; margin-top: 12px; border: 1px solid #385047; border-radius: 8px; }
  .certificate-table tbody th { grid-column: 1 / -1; width: auto; padding: 0 0 14px; }
  .certificate-table td { padding: 12px 0 0; border: 0; }
  .certificate-table td + td { padding-left: 14px; }
  .certificate-cell-label { display: block; font-size: .875rem; color: #bfd0c7; margin-bottom: 4px; }
}
@media (forced-colors: active) {
  .certificate-guide, .certificate-type, .certificate-table tbody tr, .certificate-data { border-color: CanvasText; }
  .certificate-required, .certificate-yes, .certificate-no { color: CanvasText; }
  .certificate-tablet { transform: none; }
  .certificate-tablet-photo { display: none; }
  .certificate-flow-node, .certificate-full-details { border-color: CanvasText; }
  .certificate-connector, .connector-demand, .connector-choice { stroke: CanvasText; }
}
