.energy-check { background: var(--ink); overflow-x: visible; }
.energy-check [hidden] { display: none !important; }
.check-header { max-width: 1440px; margin: auto; min-height: 88px; padding: 24px clamp(20px, 4vw, 64px); display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.check-header img { width: 151px; height: auto; }
.eyebrow, .question-count { font: 400 11px/1.5 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.check-layout { max-width: 1440px; margin: auto; padding: 64px clamp(20px, 4vw, 64px) 80px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.check-screen { min-width: 0; }
.check-screen h1 { font: 400 clamp(34px, 3.9vw, 60px)/1.07 var(--f-display); letter-spacing: -.035em; margin: 0 0 24px; }
.check-screen h2 { font: 500 23px/1.2 var(--f-display); letter-spacing: -.02em; margin: 0 0 16px; }
.check-screen p { color: var(--body); font-size: 18px; line-height: 1.6; margin: 0 0 24px; }
.check-screen .intro { max-width: 32em; font-size: 20px; }
.check-screen .eyebrow { color: var(--amber); margin-bottom: 22px; font-size: 11px; }
.check-screen .small-print { font-size: 14px; color: var(--muted); margin-top: 18px; max-width: 29em; }
.building { position: sticky; top: 36px; min-width: 0; padding-top: 36px; }
.building .dfilm { width: 100%; min-height: 320px; aspect-ratio: 1/1; border-radius: 0; }
.building .dfilm:not(.live) img { opacity: .85; object-fit: contain; }
.primary, .text-button, .secondary-link { min-height: 44px; font-family: var(--f-display); cursor: pointer; }
.primary { display: inline-flex; justify-content: center; align-items: center; text-align: center; padding: 15px 25px; border: 0; border-radius: 999px; background: var(--coral); color: #fff; font-size: 17px; font-weight: 500; text-decoration: none; max-width: 100%; }
.primary:hover { background: var(--coral-lite); }
.primary:disabled { background: var(--raise); color: var(--muted); cursor: not-allowed; border: 1px solid var(--line); }
.text-button, .secondary-link { display: inline-flex; align-items: center; background: none; border: 0; padding: 10px 0; color: var(--body); font-size: 16px; text-underline-offset: 5px; text-decoration: underline; text-align: left; }
.text-button:hover, .secondary-link:hover { color: var(--text); }
.question-count { display: block; margin-bottom: 12px; }
.check-progress { display: block; width: 100%; height: 3px; margin-bottom: 32px; border: 0; background: var(--raise); color: var(--amber); accent-color: var(--amber); }
.check-progress::-webkit-progress-bar { background: var(--raise); }
.check-progress::-webkit-progress-value { background: var(--amber); }
.check-progress::-moz-progress-bar { background: var(--amber); }
.check-screen fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.check-screen legend { padding: 0; width: 100%; }
.check-screen .helper { color: var(--muted); font-size: 16px; margin: -8px 0 24px; }
.options { display: grid; gap: 10px; }
.option { position: relative; display: flex; align-items: center; gap: 14px; min-height: 58px; padding: 14px 18px; background: var(--ground); border: 1px solid var(--line); border-radius: 12px; font-size: 17px; line-height: 1.4; cursor: pointer; }
.option:hover { border-color: var(--muted); }
.option:has(input:checked) { background: var(--raise); border-color: var(--amber); }
.option:has(input:focus-visible) { outline: 2px solid var(--amber); outline-offset: 3px; }
.option input { flex: none; width: 19px; height: 19px; margin: 0; accent-color: var(--amber); }
.question-nav { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 24px; }
.question-nav .primary { margin-left: auto; }
.result-blocks { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; margin: 34px 0; }
.result-blocks p { font-size: 16px; }
.actions-card { background: var(--raise); border: 1px solid var(--line); border-radius: 18px; padding: 22px; }
.actions-card h2 { font-size: 21px; }
.action-list { padding: 0; margin: 0; list-style: none; counter-reset: actions; }
.action-list li { counter-increment: actions; position: relative; padding-left: 37px; margin-top: 22px; font-size: 16px; line-height: 1.5; color: var(--body); }
.action-list li::before { content: counter(actions); position: absolute; left: 0; top: 1px; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: var(--coral); color: var(--ink); font-size: 13px; font-weight: 600; }
.action-tag { display: block; margin-top: 6px; font: 400 10px/1.5 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.proof { display: block; padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 0 0 32px; }
.proof p { font-size: 17px; margin-bottom: 10px; }
.proof .tag { white-space: normal; line-height: 1.4; }
.next-step { padding-top: 4px; }
.next-step > p { font-size: 17px; }
.next-step > .secondary-link { display: flex; width: fit-content; margin-top: 14px; }
.meter-form { display: grid; gap: 18px; margin-top: 24px; }
.form-row { display: grid; gap: 8px; }
.form-row label { font-size: 15px; color: var(--body); }
.form-row input, .form-row textarea { display: block; width: 100%; min-width: 0; min-height: 48px; padding: 12px; border: 1px solid var(--muted); border-radius: 8px; color: var(--text); background: var(--ground); font: 400 17px/1.4 var(--f-display); }
.form-row textarea { min-height: 100px; resize: vertical; }
.consent-label { display: flex; align-items: center; gap: 12px; min-height: 44px; font-size: 16px; line-height: 1.5; cursor: pointer; }
.consent-label input { width: 20px; height: 20px; flex: none; accent-color: var(--amber); }
.meter-form .privacy { font-size: 14px; margin: 0; color: var(--muted); }
.privacy a { display: inline-flex; align-items: center; min-height: 44px; }
.meter-form .primary { justify-self: start; }
.field-error { color: var(--amber); font-size: 14px; line-height: 1.5; }
.form-row [aria-invalid="true"] { border-color: var(--amber); }
.check-screen .mock-note { font: 400 11px/1.6 var(--f-mono); color: var(--green); }
.restart { margin-top: 28px; font-size: 14px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
:focus-visible { outline: 2px solid var(--amber); outline-offset: 4px; }
.check-screen h1:focus, .check-screen h2:focus { outline: none; }
@media (min-width: 1100px) { .check-layout:has(.result-blocks) { grid-template-columns: minmax(0, 1.55fr) minmax(0, .7fr); } }
@media (min-width: 760px) and (max-width: 1099px) { .check-layout:has(.result-blocks) { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 24px; } .result-blocks { gap: 14px; } .actions-card { padding: 16px; } }
@media (max-width: 759px) {
  .check-header { min-height: 72px; padding-block: 20px; }
  .check-header img { width: 126px; }
  .check-header .eyebrow { font-size: 9px; }
  .check-layout { display: flex; flex-direction: column; gap: 24px; padding-top: 0; padding-bottom: 40px; }
  .building { order: -1; position: static; padding-top: 0; width: 100%; height: 180px; }
  .building .dfilm { height: 180px; min-height: 0; aspect-ratio: auto; }
  .check-screen { width: 100%; }
  .check-screen h1 { font-size: 36px; }
  .check-screen .intro { font-size: 18px; }
  .result-blocks { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
@media (prefers-reduced-motion: reduce) { .energy-check *, .energy-check *::before, .energy-check *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* Snapshot and local booking/email forms. */
.snapshot-card { background: var(--ground); border: 1px solid var(--line); border-radius: 20px; padding: clamp(18px, 2.5vw, 32px); }
.snapshot-card .snapshot-line { color: var(--muted); font-size: 16px; }
.snapshot-card .proof { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.snapshot-actions { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 10px 0 32px; }
.copy-fallback { margin-bottom: 32px; }
.copy-fallback textarea { min-height: 260px; }
.booking-block, .email-block { border-top: 1px solid var(--line); padding-top: 28px; margin-top: 28px; scroll-margin-top: 24px; }
.meter-form > fieldset > legend { margin-bottom: 18px; font-size: 20px; }
.meter-form > fieldset > legend.sr-only { width: 1px; margin: -1px; }
.meter-form .form-row + .form-row { margin-top: 18px; }
.time-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.time-options .option { padding: 14px; font-size: 16px; }
.time-picker .mock-note { margin: 12px 0 0; }
.check-screen .meter-helper { margin: 0; font-size: 14px; }
.attachment { min-width: 0; border-block: 1px solid var(--line); }
.attachment summary { cursor: pointer; min-height: 48px; padding: 14px 0; font-size: 16px; }
.attachment pre { white-space: pre-wrap; overflow-wrap: anywhere; font: 400 14px/1.6 var(--f-display); color: var(--body); margin: 0 0 18px; }
.secondary-button { justify-self: start; min-height: 48px; padding: 12px 22px; border-radius: 999px; border: 1px solid var(--muted); background: transparent; color: var(--text); font: 500 17px/1.4 var(--f-display); cursor: pointer; }
.secondary-button:hover { background: var(--raise); }
.email-toggle { margin-top: 20px; }
.snapshot-card ~ .restart { display: flex; width: fit-content; }
.confirmation { overflow-wrap: anywhere; }
@media (max-width: 759px) { .time-options { grid-template-columns: minmax(0, 1fr); } }

/* v6 site integration (Claude, 23 Oct): under the fixed site nav, building vertically centred beside the steps */
body.energy-check .check-layout { padding-top: calc(var(--nav) + clamp(32px, 5vw, 72px)); min-height: 100svh; }
body.energy-check .building { top: calc(var(--nav) + 24px); }
body.energy-check .building .dfilm { aspect-ratio: 4/3; min-height: 0; }
body.energy-check .check-screen h1 { max-width: 15em; text-wrap: balance; }
@media (max-width: 759px) { body.energy-check .check-layout { padding-top: calc(var(--nav) + 12px); } }

/* Claude finesse: every text button is a full 44px target */
.text-button { min-width: 44px; padding-inline: 4px; }

/* ---------- v7, 1 Nov: the questionnaire on the off-white ground, clean photo of the building type ---------- */
body.energy-check{--ink:#F6F4EF;--text:#1C1917;--body:#57534E;--muted:#78716C;--ground:#FFFFFF;--raise:#F6F4EF;--line:rgba(28,25,23,.12);--amber:#C2491E;--coral-lite:#C2491E;background:var(--paper);color:var(--char)}
body.energy-check .check-layout{max-width:1280px}
body.energy-check .check-screen h1{font:800 clamp(38px,4.4vw,72px)/1 var(--f-display);letter-spacing:-.04em;margin:0 0 24px}
body.energy-check .check-screen h2{font:700 24px/1.2 var(--f-display);letter-spacing:-.015em}
body.energy-check .check-screen .eyebrow{color:var(--coral-deep)}
body.energy-check .option{background:#fff;border-color:rgba(28,25,23,.12);border-radius:16px}
body.energy-check .option:has(input:checked){background:#fff;border-color:var(--coral);box-shadow:0 0 0 1px var(--coral)}
body.energy-check .option input{accent-color:var(--coral)}
body.energy-check .check-progress::-webkit-progress-value{background:var(--coral)}
body.energy-check .check-progress::-moz-progress-bar{background:var(--coral)}
body.energy-check .primary{font-weight:600;padding:16px 28px;box-shadow:0 8px 24px rgba(232,93,44,.25)}
body.energy-check .primary:hover{background:var(--coral-deep)}
body.energy-check .primary:disabled{background:#EDE3DC;color:#78716C;box-shadow:none;border:0}
body.energy-check .action-list li::before{color:#fff}
body.energy-check .snapshot-card{background:#fff;border:0;border-radius:28px;box-shadow:0 30px 80px rgba(28,25,23,.08)}
body.energy-check .actions-card{background:var(--paper);border:0;border-radius:20px}
body.energy-check .form-row input,body.energy-check .form-row textarea{background:#fff;border-color:#D6CBC3;border-radius:12px;color:var(--char)}
body.energy-check .secondary-button{border-color:var(--char);color:var(--char)}
body.energy-check .secondary-button:hover{background:var(--char);color:#fff}
body.energy-check .check-screen .mock-note{color:#2F7A4F}
body.energy-check .field-error{color:var(--coral-deep)}
.building{display:grid;gap:14px}
.bphoto{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/5;background:#E9DED6}
.bphoto img{width:100%;height:100%;object-fit:cover}
.bproof{display:grid;gap:4px;background:#fff;border-radius:20px;padding:16px 18px}
.bproof b{font:800 20px/1.2 var(--f-display);letter-spacing:-.01em}
.bproof>span{font:400 14px/1.4 var(--f-display);color:var(--body-l)}
/* the result: the free audit, two ways (the light path first) */
.offer{margin:44px 0 18px}
.offer h2{font:800 clamp(30px,3vw,46px)/1.05 var(--f-display)!important;letter-spacing:-.035em!important;margin:0 0 10px!important}
.offer p{margin:0}
.path-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.path-card.booking-block,.path-card.email-block{margin:0;border:0;padding:clamp(20px,2.4vw,30px);background:#fff;border-radius:24px}
.path-card.full{border:2px solid var(--char)!important}
.path-card .eyebrow{margin-bottom:10px!important}
.path-card>p{font-size:16px!important}
.path-card .time-options{grid-template-columns:minmax(0,1fr)}
@media (min-width:1100px){.check-layout:has(.result-blocks){grid-template-columns:minmax(0,1.9fr) minmax(0,.62fr)}}
@media (max-width:1099px){.path-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:759px){
 .building{order:-1;height:auto;grid-template-columns:120px minmax(0,1fr);align-items:center}
 .bphoto{aspect-ratio:1/1;border-radius:18px}
 .bproof{padding:12px 14px}.bproof b{font-size:16px}
 body.energy-check .check-screen h1{font-size:clamp(34px,9vw,44px)}
}

/* v7.1: no copy under 13px on phones */
@media (max-width:759px){
 .eyebrow,.question-count,.action-tag,.check-screen .mock-note,body.energy-check .check-screen .eyebrow{font-size:13px}
 .meter-form .privacy,.check-screen .meter-helper{font-size:14px}
}

/* v7.2: phones read the headline first; photo and proof come after the button */
@media (max-width:759px){.building{order:2}}

/* ================= v8.10, 2 Nov (Josh): the result screen. One visual snapshot, one next step, two quiet options ================= */
/* the result takes the full width: the building photo moves into the snapshot card */
body.energy-check .check-layout:has(.result-grid){display:block;max-width:1240px}
.check-layout:has(.result-grid) .building{display:none}
.result-top{max-width:46em;margin-bottom:28px}
body.energy-check .result-top h1{margin-bottom:14px;max-width:none}
body.energy-check .check-screen .result-sub{font-size:19px;color:var(--char);margin:0;max-width:34em}
.result-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(18px,2.2vw,28px);align-items:start}
@media (max-width:1099px){.result-grid{grid-template-columns:minmax(0,1fr)}}

/* the snapshot card: the site's product UI card */
body.energy-check .snap{max-width:none;justify-self:stretch;gap:20px;padding:clamp(18px,2.2vw,28px)}
.snap .hd{align-items:center}
.snap .hd b{font:700 21px/1.2 var(--f-display)}
.snap .hd span{font:400 11px/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--coral-deep)}
.snap-who{display:flex;align-items:center;gap:14px}
.snap-thumb{width:64px;height:64px;flex:none;border-radius:16px;object-fit:cover}
.snap-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.snap-chips li{font:500 13px/1 var(--f-display);color:var(--char);background:var(--paper);border-radius:999px;padding:8px 11px}
body.energy-check .snap h2{font:600 15px/1.3 var(--f-display);letter-spacing:0;margin:0 0 12px;color:var(--char)}
.snap-week,.snap-rank{background:var(--paper);border-radius:20px;padding:16px 18px}
/* the week: 7 rows of 24 hours */
.week{display:grid;gap:4px}
.wrow{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px}
.wday{font:400 11px/1 var(--f-mono);color:var(--soft);letter-spacing:.04em}
.wcells{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:2px}
.wcells i,.wlegend i{display:block;height:16px;border-radius:3px}
.c0{background:#E6E0D8}
.c1{background:#57534E}
.c2{background:var(--coral)}
.waxis{display:flex;justify-content:space-between;margin-left:42px;font:400 10px/1 var(--f-mono);color:var(--soft);padding-top:4px}
.wlegend{display:flex;flex-wrap:wrap;gap:6px 16px;list-style:none;margin:12px 0 0;padding:0;font:500 13px/1.2 var(--f-display);color:var(--char)}
.wlegend li{display:flex;align-items:center;gap:7px}
.wlegend i{width:12px;height:12px}
body.energy-check .check-screen .wnote{font-size:14px;margin:10px 0 0;color:var(--char)}
/* the ranked list */
.rank{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.rtop{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px}
.rn{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--char);color:#fff;font:700 12px var(--f-display)}
.rank li:first-child .rn{background:var(--coral)}
.rtop b{font:600 16px/1.3 var(--f-display);color:var(--char)}
.rtier{font:400 10px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:5px 8px;white-space:nowrap}
.rtier.t0{background:var(--coral);color:#fff}
.rtier.t1{background:rgba(232,93,44,.14);color:#8B3A1F}
.rtier.t2{background:#E6E0D8;color:var(--soft)}
.rbar{display:block;height:8px;border-radius:99px;background:#E6E0D8;margin:8px 0 6px 34px;overflow:hidden}
.rbar i{display:block;height:100%;width:calc(var(--w) * 100%);border-radius:inherit;background:linear-gradient(90deg,var(--coral),#F08A5D)}
.rank li:not(:first-child) .rbar i{background:#57534E}
.rank small{display:block;margin-left:34px;font:400 14px/1.45 var(--f-display);color:var(--soft)}
body.energy-check .check-screen .rnote{font-size:14px;line-height:1.5;margin:14px 0 0;color:var(--char)}
.snap-ft{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 18px;border-top:1px solid var(--line-l);padding-top:16px}
.snap-ft b{font:700 17px/1.3 var(--f-display);color:var(--char)}
.snap-ft .ft{font:400 10px/1.5 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}

/* next steps: one lead card (black), one plain card, one quiet link */
.next{display:grid;gap:14px;align-content:start}
.nstep{border-radius:24px;padding:clamp(20px,2vw,26px);background:#fff;border:1px solid var(--line-l);scroll-margin-top:calc(var(--nav) + 16px)}
body.energy-check .nstep h2{font:700 clamp(22px,1.9vw,27px)/1.15 var(--f-display);letter-spacing:-.02em;margin:0 0 12px}
body.energy-check .nstep .eyebrow{margin:0 0 8px;font-size:11px}
.nstep.lead{background:#000;color:#fff;border-color:#000;box-shadow:0 30px 70px rgba(28,25,23,.18)}
body.energy-check .nstep.lead h2{color:#fff;font-size:clamp(26px,2.3vw,34px)}
body.energy-check .nstep.lead .eyebrow{color:var(--coral-lite)}
.ticks{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px}
.ticks li{position:relative;padding-left:28px;font:500 17px/1.4 var(--f-display)}
.ticks li::before{content:"";position:absolute;left:2px;top:5px;width:14px;height:8px;border-left:2.5px solid var(--coral);border-bottom:2.5px solid var(--coral);transform:rotate(-45deg)}
.nstep:not(.lead) .ticks li{font-size:16px;color:var(--char)}
.nstep .go{display:inline-flex;gap:2px;text-decoration:none;width:100%;justify-content:center}
.nstep:not(.lead) .go{width:auto}
.nstep .go .ext{font-weight:400}
body.energy-check .check-screen .mpan{font-size:14px;line-height:1.5;margin:14px 0 0;color:var(--soft)}
body.energy-check .check-screen .lead .mpan{color:#D6D3D1}
.mpan b{font-weight:600;color:inherit}
.lead .mpan b{color:#fff}
.who{display:flex;gap:14px;align-items:flex-start}
.avatar{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--coral);color:#fff;font:700 18px var(--f-display);margin-top:2px}
body.energy-check .check-screen .nlead{font-size:16px;line-height:1.5;margin:0 0 18px;color:var(--soft)}
body.energy-check .check-screen .lead .nlead{color:#D6D3D1}
/* the slot picker */
body.energy-check .check-screen .slots-label{font:600 14px/1.3 var(--f-display);margin:0 0 10px;color:inherit}
.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sday{display:grid;gap:6px;align-content:start}
.sdate{font:400 11px/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--soft);padding-bottom:2px}
.lead .sdate{color:#D6D3D1}
.slot{min-height:44px;border-radius:12px;border:1px solid rgba(28,25,23,.22);background:#fff;color:var(--char);font:600 15px/1 var(--f-display);cursor:pointer}
.slot:hover{border-color:var(--char)}
.slot[aria-pressed=true]{background:var(--coral);border-color:var(--coral);color:#fff}
.lead .slot{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}
.lead .slot:hover{border-color:#fff}
.lead .slot[aria-pressed=true]{background:var(--coral);border-color:var(--coral)}
.slot:focus-visible,.nstep .primary:focus-visible,.nstep .secondary-button:focus-visible,.nstep .text-button:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
body.energy-check .check-screen .picked{min-height:1.5em;font:500 15px/1.5 var(--f-display);margin:12px 0 0;color:inherit}
.book-form{display:grid;gap:14px;margin-top:6px}
.book-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.book-fields .form-row label,.email-line .form-row label{font-size:14px;color:inherit}
.lead .book-fields .form-row label{color:#fff}
body.energy-check .lead .form-row input{border-color:transparent}
.book-form .confirm{justify-self:start}
body.energy-check .nstep .privacy{font-size:13px;margin:0;color:var(--soft)}
body.energy-check .lead .privacy,.lead .privacy a{color:#D6D3D1}
.nstep .privacy a{min-height:auto;display:inline}
/* the review-style mock-up note, always visible */
body.energy-check .check-screen .mocknote{display:inline-flex;align-items:flex-start;gap:7px;width:fit-content;max-width:100%;font:700 11px/1.45 var(--f-mono);letter-spacing:.03em;color:#8B3A1F;background:rgba(232,93,44,.12);border-radius:12px;padding:6px 10px 6px 9px;margin:0}
.mocknote::before{content:"";flex:none;margin-top:.5em;width:6px;height:6px;border-radius:50%;background:var(--coral)}
body.energy-check .check-screen .lead .mocknote{color:var(--mist);background:rgba(245,208,195,.14)}
/* booked */
.done{display:grid;gap:10px;justify-items:start}
.done .tick{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--coral);color:#fff;font:700 20px var(--f-display)}
body.energy-check .check-screen .done h3{font:700 clamp(22px,2vw,28px)/1.2 var(--f-display);letter-spacing:-.02em;margin:0}
body.energy-check .check-screen .done p:not(.mocknote){font-size:16px;margin:0;color:inherit}
.done .attachment{width:100%;border-color:rgba(127,127,127,.3)}
.done .attachment summary{font-size:14px}
body.energy-check .check-screen .done .attachment pre{color:inherit;font-size:13px}
/* the quiet email option */
.nstep.emailme{background:none;border:0;padding:0 4px}
.emailme .text-button{font-size:16px;color:var(--char)}
.email-panel{margin-top:6px;display:grid;gap:10px}
.email-form{display:grid;gap:10px}
.email-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.email-line .secondary-button{min-height:48px}
body.energy-check .check-screen .sent{font:600 16px/1.4 var(--f-display);color:var(--char);margin:0}
.check-layout:has(.result-grid) .restart{margin-top:24px}
@media (max-width:1099px) and (min-width:760px){.next{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.next .emailme{grid-column:1/-1}}
@media (max-width:759px){
 .result-top{margin-bottom:20px}
 body.energy-check .check-screen .result-sub{font-size:17px}
 .snap-thumb{width:52px;height:52px;border-radius:12px}
 .snap-week,.snap-rank{padding:14px 12px}
 .wrow{grid-template-columns:28px minmax(0,1fr);gap:6px}
 .wcells{gap:1px}.wcells i{height:13px;border-radius:2px}
 .waxis{margin-left:34px}
 .rtop{grid-template-columns:24px minmax(0,1fr) auto;align-items:start}
 .rtop .rn{margin-top:1px}
 .rtier{margin-top:2px}
 .book-fields{grid-template-columns:minmax(0,1fr)}
 .slots{gap:8px}
 .slot{font-size:14px}
 .sdate,.snap .hd span,.rtier,.snap-ft .ft,body.energy-check .check-screen .mocknote{font-size:13px}
 .rtier{padding:6px 9px}
}
/* the assistant launcher stays a small pill on the result screen, so its card never sits over the booking form */
body.energy-check:has(.result-grid) #ge-ask .ge-card{display:none}
body.energy-check:has(.result-grid) #ge-ask .ge-pill{display:flex}
/* v8.10 critic round: the 20% line under the headline, a quick next step on phones and tablets, a sticky next column */
.result-top{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px 40px}
.result-words{max-width:46em}
body.energy-check .check-screen .stat{display:grid;justify-items:start;gap:2px;margin:0 0 6px;padding:18px 22px;background:#fff;border-radius:20px;color:var(--char);font:500 17px/1.3 var(--f-display)}
.stat b{font:800 clamp(34px,3.4vw,48px)/1 var(--f-display);letter-spacing:-.035em;color:var(--coral-deep)}
.stat .rv{margin:6px 0 0}
.quicknext{display:none}
@media (min-width:1100px){.next{position:sticky;top:calc(var(--nav) + 24px)}}
@media (max-width:1099px){
 .result-top{grid-template-columns:minmax(0,1fr)}
 body.energy-check .check-screen .stat{grid-auto-flow:column;align-items:baseline;justify-content:start;gap:8px;padding:12px 16px;margin:0}
 .stat b{font-size:30px}
 .quicknext{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
 .quicknext .primary{text-decoration:none}
}
/* small mono labels: 12px and the darker coral */
.snap .hd span{font-size:12px}
.snap-ft .ft{font-size:12px;letter-spacing:.06em}
/* booked and emailed */
.nstep.booked{display:block}
.done-hd{display:flex;align-items:center;gap:12px}
.done-hd .tick{flex:none}
body.energy-check .check-screen .done-hd h2{margin:0;font-size:clamp(22px,2vw,28px)}
.done .cal{font-size:15px;padding-block:6px;color:inherit}
.done .attachment{border:1px solid rgba(127,127,127,.3);border-radius:14px;padding:0 14px}
.done .attachment summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:10px 0}
.done .attachment summary::-webkit-details-marker{display:none}
.done .attachment summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-4px 4px 0 0}
.done .attachment[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.nompan{font-size:14px;margin-top:6px;padding-block:6px}
.lead .nompan{color:#D6D3D1}
.lead .nompan:hover{color:#fff}
/* one focus ring on fields */
body.energy-check .nstep .form-row input:focus-visible{outline:2px solid var(--coral);outline-offset:2px;border-color:var(--char)}
@media (max-width:759px){
 .book-form .confirm,.email-line .secondary-button{width:100%}
 .email-line{grid-template-columns:minmax(0,1fr)}
 body.energy-check .snap{padding:16px 14px}
 .snap-week,.snap-rank{padding:12px 10px}
 .wday,.waxis{font-size:11px}
 .snap .hd span,.snap-ft .ft{font-size:13px}
}