/* Generated from checker v3.2 prototype/checker.css by seo-hero-pass/build_checker_page.py. */
.checker-app{--canvas:#f3f0e9;--paper:#fffefa;--ink:#1d1d19;--muted:#585a55;--line:#d9d5cc;--strong:#bdb8ae;--cyan:#087f9a;--cyan-soft:#e4f3f5;--error:#aa4636;--mono:var(--font-mono);--serif:Georgia,'Times New Roman',serif}
.checker-app *{box-sizing:border-box}
.checker-app{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55}
.checker-app button,.checker-app input,.checker-app select,.checker-app textarea{font:inherit}
.checker-app button,.checker-app a,.checker-app input,.checker-app select,.checker-app summary{outline-offset:4px}
.checker-app button:focus-visible,.checker-app a:focus-visible,.checker-app input:focus-visible,.checker-app select:focus-visible,.checker-app summary:focus-visible{outline:3px solid var(--cyan)}
.checker-app [hidden]{display:none!important}
.checker-app button{cursor:pointer}
.checker-app a{color:inherit}
.checker-app{width:min(88%,1320px);margin:68px auto 100px}
.checker-app .page-grid{display:grid;grid-template-columns:minmax(280px,.86fr) minmax(0,1.34fr);gap:8%}
.checker-app .intro{align-self:start;position:sticky;top:36px}
.checker-app .eyebrow{font:10px/1.6 var(--mono);letter-spacing:1.8px;color:var(--muted);margin:0 0 18px}
.checker-app h1{font-size:clamp(38px,4.2vw,61px);font-weight:580;letter-spacing:-2.8px;line-height:1.07;margin:0 0 24px}
.checker-app h1 em{font-family:var(--serif);font-weight:400}
.checker-app p{margin:0 0 18px}
.checker-app .lede{font-size:17px;line-height:1.7;color:var(--muted);max-width:370px}
.checker-app .intro-line{width:55px;border-top:2px solid var(--ink);margin:33px 0}
.checker-app .progress{list-style:none;padding:0;margin:0 0 32px}
.checker-app .progress li{display:flex;gap:20px;align-items:center;color:var(--muted);font-size:14px;margin:17px 0}
.checker-app .progress li span{font:11px var(--mono);color:var(--muted)}
.checker-app .progress li[aria-current]{color:var(--ink);font-weight:650}
.checker-app .progress li[aria-current] span{color:var(--cyan)}
.checker-app .progress li.done span{color:var(--cyan)}
.checker-app .small,.checker-app .hint{font-size:12px;line-height:1.6;color:var(--muted)}
.checker-app .intro-note{max-width:300px}
.checker-app .text-button{border:0;background:transparent;color:var(--ink);padding:10px 0;font-size:13px;text-align:left;min-height:44px;font-weight:580}
.checker-app .text-button:hover{color:var(--cyan)}
.checker-app .example-label{font-size:12px;border-left:2px solid var(--cyan);padding:0 0 0 12px;color:#066377;margin-top:12px;max-width:315px}
.checker-app .workspace{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:38px 40px;min-width:0}
.checker-app .step-heading{padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:27px}
.checker-app .step-heading .eyebrow{margin-bottom:12px}
.checker-app h2{font-size:29px;font-weight:580;letter-spacing:-1px;line-height:1.2;margin:0 0 12px}
.checker-app .step-heading>p:last-child{font-size:14px;color:var(--muted);margin:0}
.checker-app h3{font-size:21px;font-weight:580;letter-spacing:-.5px;line-height:1.3;margin:0 0 12px}
.checker-app .context-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.checker-app .field{margin-bottom:23px;min-width:0}
.checker-app label,.checker-app legend{font-size:13px;font-weight:610;display:block;margin-bottom:8px}
.checker-app label span{font-weight:400;color:var(--muted);font-size:11px}
.checker-app input:not([type=radio]):not([type=checkbox]),.checker-app select{width:100%;min-height:47px;background:var(--paper);color:var(--ink);border:1px solid var(--strong);border-radius:5px;padding:11px 12px;font-size:16px}
.checker-app input::placeholder{font-size:12px;color:#6b6d68}
.checker-app input[aria-invalid=true]{border:2px solid var(--error)}
.checker-app select{cursor:pointer;padding-right:28px}
.checker-app input[type=checkbox],.checker-app input[type=radio]{accent-color:var(--cyan)}
.checker-app .hint{margin:8px 0 0}
.checker-app .pain-fieldset{border:0;padding:0;margin:0 0 27px}
.checker-app .pain-fieldset legend{padding:0;margin-bottom:13px}
.checker-app .pain-options{display:grid;grid-template-columns:1fr 1fr;gap:0 21px}
.checker-app .pain-option{position:relative;display:flex;gap:10px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);min-height:62px;cursor:pointer;font-size:12px;font-weight:450;line-height:1.4;margin:0}
.checker-app .pain-option input{margin:2px 0 0;flex:0 0 auto}
.checker-app .pain-option:has(input:checked){color:#066377;border-color:var(--cyan);font-weight:650}
.checker-app .pain-option small{display:block;color:var(--muted);font:9px var(--mono);letter-spacing:.5px;margin-bottom:3px}
.checker-app .actions{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:23px;border-top:1px solid var(--line);margin-top:30px}
.checker-app .button,.checker-app .secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:17px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:5px;min-height:47px;padding:12px 18px;font-size:13px;font-weight:620;text-decoration:none}
.checker-app .button:hover{background:#33352f}
.checker-app .secondary-button{background:var(--paper);color:var(--ink);border-color:var(--strong)}
.checker-app .secondary-button:hover{border-color:var(--ink)}
.checker-app .error{color:var(--error);font-size:13px;margin:12px 0}
.checker-app .period-field{max-width:100%}
.checker-app .period-field select{max-width:200px}
.checker-app .measure-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.checker-app .check-label{display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-weight:450}
.checker-app .check-label input{width:16px;height:16px;flex:0 0 auto;margin:3px 0 0}
.checker-app .context-details{border-top:1px solid var(--line);padding:17px 0 0;margin-top:24px}
.checker-app .context-details summary,.checker-app .answer-details summary{cursor:pointer;font-size:13px;font-weight:550;min-height:40px}
.checker-app .context-details summary span{color:var(--muted);font-size:11px;margin-left:12px}
.checker-app .context-details[open]>p{margin:12px 0 22px}
.checker-app .metrics{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px;margin:8px 0 34px}
.checker-app .metric-value{font-size:35px;font-weight:540;letter-spacing:-1.4px;line-height:1.2;margin:0 0 7px}
.checker-app .metric-value .metric-unit{font-size:13px;letter-spacing:0;font-weight:450;margin-left:7px}
.checker-app .metric-label{font-size:12px;font-weight:600;margin-bottom:5px}
.checker-app .metric-explanation{font-size:11px;color:var(--muted);margin-bottom:0}
.checker-app .result-section{border-top:1px solid var(--line);padding:24px 0 6px}
.checker-app .result-section .eyebrow{margin-bottom:13px}
.checker-app .result-section>p:not(.eyebrow):not(.small){font-size:14px;color:var(--muted)}
.checker-app .plain-list{list-style:none;padding:0;margin:0 0 16px}
.checker-app .plain-list li{font-size:14px;padding:0 0 12px 17px;position:relative}
.checker-app .plain-list li:before{content:'—';position:absolute;left:0;color:var(--cyan)}
.checker-app .question-list{font-size:13px;padding-left:19px;color:var(--muted)}
.checker-app .question-list li{padding:0 0 10px 5px}
.checker-app .directions{display:grid;gap:17px;margin-bottom:22px}
.checker-app .direction{display:grid;grid-template-columns:100px 1fr;gap:15px}
.checker-app .direction strong{font:10px var(--mono);letter-spacing:.7px;color:#066377}
.checker-app .direction p{font-size:13px;color:var(--muted);margin:0}
.checker-app .answer-details{margin:15px 0;border-top:1px solid var(--line);padding-top:17px}
.checker-app .answer-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);font-size:12px;gap:10px 20px;margin:12px 0 22px}
.checker-app .answer-summary dt{color:var(--muted)}
.checker-app .answer-summary dd{margin:0;overflow-wrap:anywhere}
.checker-app .result-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:23px}
.checker-app .conversation-section{margin-top:30px;border-top:1px solid var(--line);padding-top:28px}
.checker-app .conversation-section p:not(.eyebrow){font-size:14px;color:var(--muted)}
.checker-app .conversation-section .button{width:auto}
.checker-app .enquiry-form,.checker-app .enquiry-preview{padding-top:27px;margin-top:25px;border-top:1px solid var(--line)}
.checker-app .enquiry-form>p{margin-bottom:23px}
.checker-app .enquiry-form .secondary-button{margin-top:12px}
.checker-app .result-note{padding:15px 0;color:var(--muted);font-size:14px}
@media(max-width:1050px){.checker-app .page-grid{gap:5%;grid-template-columns:minmax(230px,.8fr) minmax(0,1.3fr)}
.checker-app .workspace{padding:30px}
.checker-app h1{font-size:43px}
.checker-app .measure-fields{grid-template-columns:1fr}}
@media(max-width:760px){.checker-app{width:calc(100% - 36px);margin-top:34px}
.checker-app .page-grid{display:block}
.checker-app .intro{position:static}
.checker-app .intro h1{font-size:44px;letter-spacing:-2px}
.checker-app .intro h1 br{display:none}
.checker-app .lede{max-width:560px;font-size:15px}
.checker-app .intro-line{display:none}
.checker-app .progress{display:flex;gap:18px;flex-wrap:wrap;margin:25px 0 10px}
.checker-app .progress li{font-size:11px;gap:7px;margin:8px 0}
.checker-app .intro-note{max-width:none;font-size:11px;margin:12px 0 0}
.checker-app .intro .text-button{margin:3px 0 15px;font-size:12px}
.checker-app .workspace{padding:25px 23px;border-radius:8px}
.checker-app .step-heading{padding-bottom:22px}
.checker-app .step-heading h2{font-size:26px}
.checker-app .context-grid{gap:0 15px}
.checker-app .direction{grid-template-columns:85px 1fr}}
@media(max-width:400px){.checker-app .context-grid,.checker-app .pain-options,.checker-app .metrics{grid-template-columns:1fr}
.checker-app .workspace{padding:23px 17px}
.checker-app .actions>.small{display:none}
.checker-app .result-actions{flex-wrap:wrap}
.checker-app .button{font-size:12px}}
@media(prefers-reduced-motion:reduce){.checker-app *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.checker-app{background:white}
.checker-app .intro,.checker-app #step-1,.checker-app #step-2,.checker-app .result-actions,.checker-app .conversation-section,.checker-app .delivery-preview{display:none!important}
.checker-app,.checker-app .page-grid,.checker-app .workspace{display:block;width:100%;margin:0;border:0;padding:0}
.checker-app .workspace{background:white}
.checker-app .answer-details>dl{display:grid!important}
.checker-app .result-section{break-inside:avoid}}
.checker-app .context-details summary,.checker-app .answer-details summary{min-height:48px}
.checker-app .check-label{min-height:44px;align-items:center}
.checker-app .check-label input{margin:0}
.checker-app .request-snapshot{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 Inter,Helvetica,Arial,sans-serif;color:var(--muted)}
.checker-app .metric-value{overflow-wrap:anywhere}
.checker-app .metric-unit{display:block;margin:6px 0 0!important}
.checker-app /* v2: total first and fixing last and smaller (C1); one basis line under the numbers (C2); static delivery preview */
.metric-minor{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;border-top:1px solid var(--line);padding-top:14px}
.checker-app .metric-minor .metric-label{order:-1;font-size:12px;margin:0}
.checker-app .metric-minor .metric-value{font-size:19px;letter-spacing:-.4px;margin:0}
.checker-app .metric-minor .metric-unit{display:inline!important;margin:0 0 0 6px!important;font-size:12px}
.checker-app .metric-minor .metric-explanation{flex-basis:100%}
.checker-app .result-basis{font-size:12px;line-height:1.6;color:var(--muted);margin:-12px 0 26px}
.checker-app .delivery-preview{margin-top:26px;border:1px dashed var(--strong);border-radius:8px;padding:22px 22px 24px;background:var(--canvas)}
.checker-app .preview-flag{font-size:12px;font-weight:620;color:#066377;background:var(--cyan-soft);border-left:2px solid var(--cyan);padding:9px 12px;margin:0 0 20px}
.checker-app .delivery-preview .eyebrow{margin-bottom:10px}
.checker-app .fake-field{margin-bottom:16px}
.checker-app .fake-label{display:block;font-size:13px;font-weight:610;margin-bottom:8px}
.checker-app .fake-label span{font-weight:400;color:var(--muted);font-size:11px}
.checker-app .fake-input{display:block;min-height:47px;background:var(--paper);border:1px dashed var(--strong);border-radius:5px;padding:11px 12px;font-size:16px;color:var(--muted);overflow-wrap:anywhere}
.checker-app .fake-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;margin:14px 0}
.checker-app .fake-box{flex:0 0 auto;width:16px;height:16px;border:1px solid var(--strong);border-radius:3px;background:var(--paper);margin-top:3px}
.checker-app .fake-check small{display:block;font-size:12px;color:var(--muted)}
.checker-app .fake-check .undecided{display:inline-block;margin-top:7px;font-size:11px;color:var(--ink);border:1px solid var(--strong);border-radius:4px;padding:3px 8px;background:var(--paper)}
.checker-app .fake-id{font-size:11px;color:var(--muted);margin:16px 0}
.checker-app .fake-button{display:inline-flex;align-items:center;gap:17px;border:1px solid var(--strong);background:var(--line);color:var(--muted);border-radius:5px;min-height:47px;padding:12px 18px;font-size:13px;font-weight:620;cursor:default}
@media(max-width:400px){.checker-app .delivery-preview{padding:18px 15px 20px}}
.checker-app /* v3: task checkboxes with examples,.checker-app one task per screen,.checker-app result cards and the report preview */
.pain-option .option-example{display:block;font:400 12px/1.45 Inter,Helvetica,Arial,sans-serif;letter-spacing:0;color:var(--muted);margin:3px 0 0}
.checker-app .pain-option:has(input:disabled){opacity:.55;cursor:not-allowed}
.checker-app .field-error{margin:6px 0 0}
.checker-app .panel-progress{font:11px/1.6 var(--mono);letter-spacing:1px;color:var(--cyan);text-transform:uppercase;margin:0 0 10px}
.checker-app .panel-progress:focus{outline:none}
.checker-app .panel-title{margin-bottom:4px}
.checker-app .panel-example{margin:0 0 22px}
.checker-app .revision-group{border-top:1px solid var(--line);padding-top:18px;margin-top:6px}
.checker-app .revision-group .eyebrow{margin-bottom:12px}
.checker-app .not-tracked{margin-top:8px;font-size:13px}
.checker-app input:disabled{background:var(--canvas);color:var(--muted)}
.checker-app .result-card{border-top:1px solid var(--line);padding:22px 0 8px}
.checker-app .result-card:first-child{border-top:0;padding-top:4px}
.checker-app .card-title{margin-bottom:2px}
.checker-app .card-period{font:11px/1.6 var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.checker-app .result-card .metrics{margin-bottom:12px}
.checker-app .card-notes li{font-size:13px;color:var(--muted)}
.checker-app .report-toggle{margin-top:20px}
.checker-app .full-report{margin-top:22px;border:1px solid var(--line);border-radius:8px;padding:22px 24px;background:var(--paper)}
.checker-app .report-section{border-top:1px solid var(--line);padding:18px 0 6px}
.checker-app .report-section h3{font-size:18px;margin-bottom:10px}
.checker-app .report-section p{font-size:14px}
.checker-app .report-figures{list-style:none;padding:0;margin:0 0 12px;font-size:13px}
.checker-app .report-figures li{margin:0 0 8px}
.checker-app .report-figures strong{display:block;font-weight:620}
.checker-app .report-figures span{color:var(--muted)}
.checker-app .report-fixes{display:grid;grid-template-columns:170px minmax(0,1fr);gap:6px 14px;font-size:13px;margin:0 0 14px}
.checker-app .report-fixes dt{font-weight:620}
.checker-app .report-fixes dd{margin:0;color:var(--muted)}
@media(max-width:560px){.checker-app .report-fixes{grid-template-columns:minmax(0,1fr)}
.checker-app .report-fixes dd{margin-bottom:8px}
.checker-app .full-report{padding:18px 14px}}
@media print{.checker-app .report-toggle{display:none!important}}
.checker-app /* v3.2: the cost question on each task,.checker-app with one-time "Same as" copies */
.same-as{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:-6px}
.checker-app .same-as .hint{flex-basis:100%;margin:0}
.checker-app .same-as-button{min-height:40px;padding:8px 12px;font-size:12px}

/* Site version of checker v3.2: every rule above is scoped to .checker-app and the
   standalone header, footer and font are dropped (the site supplies them). */
.checker-app { width: min(88%, 1320px); margin: 56px auto 96px; }
.checker-app .intro-note + .intro-note { margin-top: -8px; }
.checker-app .checker-next { margin-top: 30px; padding: 24px 26px; background: var(--signal-soft); border-radius: var(--radius-md); }
.checker-app .checker-next p { margin: 0 0 14px; color: var(--ink); }
.checker-app .checker-next .booking-actions { margin-top: 4px; }
.checker-app .checker-next .button { color: var(--paper); }
.checker-app .checker-next .ad-reassure { margin: 12px 0 0 !important; color: var(--ink-soft); }
@media (max-width: 760px) { .checker-app { width: calc(100% - 32px); margin-top: 32px; } }
.checker-app > .crumb { margin: 0 0 22px; }

/* How the checker works: plain, crawlable text under the tool. */
.checker-guide { padding-block: clamp(64px, 8vw, 112px); border-top: 1px solid var(--line); background: var(--paper); }
.checker-guide-inner { width: min(100% - 48px, 920px); margin-inline: auto; }
.checker-guide p.eyebrow { max-width: none; margin: 0 0 14px; text-align: center; }
.checker-guide h2 { max-width: 26ch; margin: 0 auto; font-size: clamp(28px, 3vw, 40px); line-height: 1.1; letter-spacing: -.035em; font-weight: 540; text-align: center; }
.checker-guide p.checker-guide-lede { max-width: 58ch; margin: 18px auto 0; color: var(--ink-soft); font-size: 18px; line-height: 1.6; text-align: center; }
.checker-guide-list { display: grid; margin: clamp(40px, 5vw, 64px) 0 0; padding: 0; list-style: none; }
.checker-guide-list > li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 0 20px; padding: 28px 0; border-top: 1px solid var(--line); }
.checker-guide-num { padding-top: 6px; color: var(--signal-ink); font-size: 13px; letter-spacing: .08em; }
.checker-guide h3 { margin: 0 0 10px; font-size: 22px; line-height: 1.25; letter-spacing: -.02em; font-weight: 600; }
.checker-guide p { max-width: 64ch; margin: 0 0 10px; color: var(--ink-soft); font-size: 16px; line-height: 1.65; }
.checker-guide-tasks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 32px; margin-top: 14px; }
.checker-guide p.checker-guide-label { margin: 0 0 6px; color: var(--ink); font-size: 14px; font-weight: 650; }
.checker-guide-tasks ul { margin: 0; padding-left: 18px; color: var(--ink-soft); font-size: 16px; line-height: 1.7; }
.checker-guide p.checker-guide-link { margin: 6px 0 0; }
@media (max-width: 679px) {
  .checker-guide-inner { width: calc(100% - 32px); }
  .checker-guide p.eyebrow, .checker-guide h2, .checker-guide p.checker-guide-lede { text-align: left; }
  .checker-guide-list > li { grid-template-columns: minmax(0, 1fr); }
  .checker-guide-num { padding: 0 0 6px; }
  .checker-guide-tasks { grid-template-columns: minmax(0, 1fr); }
}
