/* =========================================================
   Open Road Driving · inner-2026b.css (lessons, enquire, 404, forms-demo + sample pages). Prefixes: pg- page head, ls- lessons, in- instructors, ar- areas, pp- pass plan, fq- FAQ, ck- checklist, eq- enquire, nf- 404, fd- forms demo.
   ========================================================= */

/* ---------- lessons ---------- */
.ls-head { padding-block: clamp(32px, 4vw, 72px) var(--s-8); }
.ls-head__grid { display: grid; gap: var(--s-6); align-items: center; }
.ls-head__copy { display: grid; gap: var(--s-5); justify-items: start; }
.ls-head h1 { font-size: var(--t-h1); max-width: 12ch; }
.ls-head__tags { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.ls-head__photo { --fade-t: 0; --fade-r: 0; --fade-x: clamp(24px, 8vw, 110px); --fade-y: clamp(32px, 6vw, 80px); margin: 0; aspect-ratio: 3 / 2; width: 100%; max-width: 44rem; justify-self: end; }
.ls-head__photo picture, .ls-head__photo img { aspect-ratio: 3 / 2; }
@media (min-width: 64rem) {
  .ls-head__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: var(--s-8); }
  .ls-head__photo { margin-right: calc(-1 * var(--margin)); width: calc(100% + var(--margin)); max-width: none; }
}

/* ladder: three rows on one ledger, the hourly rate drawn as a bar */
.ls-ladder { padding-bottom: var(--section); }
.ls-ladder__head { display: grid; gap: var(--s-3); margin-bottom: var(--s-6); }
.ls-rows { margin: 0; padding: 0; list-style: none; border-top: 3px solid var(--ink); }
.ls-row { display: grid; gap: var(--s-4) var(--s-6); padding: var(--s-6) 0; border-bottom: 1px solid var(--line-strong); align-items: center; }
.ls-row__name p { color: var(--ink-soft); margin-top: var(--s-2); max-width: 36ch; }
.ls-row__price { display: grid; gap: var(--s-2); justify-items: start; margin: 0; }
.ls-plate { margin: 0; padding: 0 var(--s-5); border-radius: 12px; background: var(--sun); color: var(--navy); box-shadow: inset 0 0 0 3px var(--sun), inset 0 0 0 5px var(--navy); font: 800 clamp(3rem, 2.2rem + 3.4vw, 4.5rem)/1.12 var(--font-display); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.ls-row__price span { font: 700 var(--t-meta)/1.2 var(--font-text); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.ls-rate { display: grid; gap: var(--s-2); }
.ls-rate__fig { margin: 0; font-size: var(--t-small); color: var(--ink-soft); }
.ls-rate__fig b { font: 800 1.75rem/1 var(--font-display); letter-spacing: -.03em; color: var(--ink); font-variant-numeric: tabular-nums; }
.ls-bar { display: block; height: 14px; width: 100%; border-radius: 7px; background: var(--surface-3); position: relative; overflow: hidden; }
.ls-bar::before { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); background: var(--brand); border-radius: 7px; }
.ls-save { margin: 0; font-size: var(--t-small); line-height: var(--lh-small); color: var(--ink-soft); }
.ls-save strong { color: var(--brand); }
@media (min-width: 56rem) {
  .ls-row { grid-template-columns: minmax(0, 5fr) minmax(0, 3.4fr) minmax(0, 4.2fr); }
}
.ls-notes-btn { margin-top: var(--s-6); }

/* estimate: navy band, slider */
.ls-est { background: var(--navy); color: #fff; padding-block: var(--section); }
.ls-est__grid { display: grid; gap: var(--s-7); align-items: start; }
.ls-est__copy { display: grid; gap: var(--s-4); justify-items: start; }
.ls-est__panel { display: grid; gap: var(--s-6); padding: var(--s-6); border: 2px solid var(--navy-edge-soft); border-radius: var(--r-panel); background: var(--navy-2); }
.ls-est__result { display: grid; gap: var(--s-2); padding-top: var(--s-5); border-top: 3px dashed var(--navy-edge-soft); }
.ls-est__total { margin: 0; font: 800 clamp(3rem, 2.2rem + 3.6vw, 5rem)/1 var(--font-display); letter-spacing: -.04em; color: var(--sun); font-variant-numeric: tabular-nums; }
.ls-est__way { margin: 0; font-size: var(--t-lede); line-height: 1.35; color: #fff; }
.ls-est__sub { margin: 0; color: var(--navy-dim); font-size: var(--t-small); line-height: var(--lh-small); }
.ls-table-wrap { margin-top: var(--s-7); overflow-x: auto; }
.ls-table { width: 100%; border-collapse: collapse; font-size: var(--t-small); font-variant-numeric: tabular-nums; }
.ls-table caption { text-align: left; font: 700 var(--t-meta)/1.3 var(--font-text); letter-spacing: .08em; text-transform: uppercase; color: var(--navy-dim); padding-bottom: var(--s-3); }
.ls-table th, .ls-table td { text-align: left; padding: var(--s-3) var(--s-4) var(--s-3) 0; border-bottom: 1px solid var(--navy-edge-soft); vertical-align: top; }
.ls-table thead th { font-weight: 700; color: var(--navy-dim); border-bottom-width: 2px; }
.ls-table tbody th { font-weight: 700; color: #fff; }
.ls-table td:last-child, .ls-table th:last-child { text-align: right; padding-right: 0; }
.ls-table td:last-child { font-weight: 700; color: var(--sun); }
@media (min-width: 64rem) {
  .ls-est__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--s-9); }
}
@media (max-width: 40rem) {
  .ls-table thead { position: absolute; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; }
  .ls-table tr { display: grid; grid-template-columns: auto 1fr; gap: 0 var(--s-4); padding: var(--s-3) 0; border-bottom: 1px solid var(--navy-edge-soft); }
  .ls-table th, .ls-table td { border: 0; padding: 0; text-align: left !important; }
  .ls-table td[data-label]::before { content: attr(data-label) ": "; color: var(--navy-dim); font-weight: 400; }
  .ls-table td:last-child { grid-column: 1 / -1; }
}

/* before you book: a definition ledger beside a faded photo */
.ls-know { padding-block: var(--section); }
.ls-know__grid { display: grid; gap: var(--s-7); }
.ls-know__side { display: grid; gap: var(--s-5); align-content: start; }
.ls-know__photo { --fade-size: clamp(28px, 6vw, 72px); margin: 0; aspect-ratio: 3 / 2; max-width: 34rem; }
.ls-know__photo picture, .ls-know__photo img { aspect-ratio: 3 / 2; }
.ls-know dl { display: grid; margin: 0; }
.ls-know dl > div { display: grid; gap: var(--s-2) var(--s-6); padding: var(--s-5) 0; border-top: 1px solid var(--line-strong); }
.ls-know dl > div:last-child { border-bottom: 1px solid var(--line-strong); }
.ls-know dt { font: 800 var(--t-h4)/1.2 var(--font-display); letter-spacing: -.015em; }
.ls-know dd { margin: 0; color: var(--ink-soft); max-width: 44ch; }
@media (min-width: 48rem) { .ls-know dl > div { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); } }
@media (min-width: 64rem) {
  .ls-know__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-9); }
  .ls-know__side { position: sticky; top: calc(var(--header-h) + var(--s-6)); }
}

/* shared closing band */
.ls-close { background: var(--surface-2); border-top: 1px solid var(--line-strong); padding-block: var(--s-9); }
.ls-close__in { display: grid; gap: var(--s-5); justify-items: start; }
.ls-close__actions { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-5); align-items: center; }

/* ---------- enquire ---------- */
.eq-wrap { padding-block: clamp(32px, 4vw, 72px) var(--section); display: grid; gap: var(--s-7); }
.eq-side { display: grid; gap: var(--s-5); align-content: start; justify-items: start; }
.eq-side h1 { font-size: var(--t-h1); max-width: 8ch; }
.eq-side__photo { --fade-size: clamp(28px, 5vw, 64px); margin: 0; max-width: 20rem; aspect-ratio: 4 / 5; display: none; }
.eq-side__photo picture, .eq-side__photo img { aspect-ratio: 4 / 5; }
.eq-contact { display: grid; gap: var(--s-1); padding: var(--s-4) var(--s-5); border-left: 6px solid var(--sun); background: var(--surface); border-radius: var(--r-control); border-top: 1px solid var(--line-strong); border-right: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.eq-contact a { font: 800 1.5rem/1.2 var(--font-display); letter-spacing: -.02em; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.eq-contact a:hover { text-decoration: underline; text-decoration-thickness: 3px; text-decoration-color: var(--brand); }
.eq-contact p { font-size: var(--t-small); color: var(--muted); margin: 0; }
.eq-card { background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--r-panel); padding: var(--s-5); display: grid; gap: var(--s-6); box-shadow: 0 1px 0 var(--line); }
.eq-card__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-3); }
.eq-form { display: grid; gap: var(--s-6); }
.eq-group { display: grid; gap: var(--s-5); padding-top: var(--s-5); border-top: 3px dashed var(--line-strong); }
.eq-group--first { padding-top: 0; border-top: 0; }
.eq-group > h2 { display: flex; align-items: center; gap: var(--s-3); font: 800 var(--t-h4)/1.2 var(--font-display); letter-spacing: -.015em; }
.eq-group > h2 .eq-n { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--sun); box-shadow: inset 0 0 0 2px var(--navy); font: 800 1rem/1 var(--font-display); color: var(--navy); }
.eq-two { display: grid; gap: var(--s-5); }
.eq-submit { display: grid; gap: var(--s-3); justify-items: start; }
.eq-success { display: grid; gap: var(--s-4); justify-items: start; padding: var(--s-2) 0; }
.eq-success h2 { font: 800 var(--t-h3)/1.1 var(--font-display); letter-spacing: -.02em; }
.eq-success:focus { outline: none; }
.eq-success .eq-tick { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--brand); color: #fff; }
.eq-success .eq-tick svg { width: 28px; height: 28px; }
.eq-saved { display: grid; gap: 0; margin: var(--s-2) 0 0; width: 100%; border-top: 1px solid var(--line-strong); }
.eq-saved div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--s-3); padding: var(--s-3) 0; border-bottom: 1px solid var(--line); }
.eq-saved dt { font-weight: 700; }
.eq-saved dd { margin: 0; color: var(--ink-soft); overflow-wrap: anywhere; }
.eq-success__actions { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-5); align-items: center; }
@media (min-width: 40rem) { .eq-two { grid-template-columns: 1fr 1fr; } .eq-card { padding: var(--s-7); } }
@media (min-width: 64rem) {
  .eq-wrap { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-9); align-items: start; }
}

/* ---------- 404 ---------- */
.nf-wrap { padding-block: clamp(40px, 6vw, 96px) var(--section); display: grid; gap: var(--s-7); align-items: center; }
.nf-copy { display: grid; gap: var(--s-5); justify-items: start; }
.nf-copy h1 { font-size: var(--t-h1); max-width: 12ch; }
.nf-copy .nf-code { font: 800 clamp(5rem, 3rem + 10vw, 10rem)/.85 var(--font-display); letter-spacing: -.06em; color: var(--navy); text-shadow: .045em .045em 0 var(--sun); }
.nf-links { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-5); align-items: center; }
.nf-photo { --fade-size: clamp(28px, 6vw, 80px); margin: 0; aspect-ratio: 4 / 3; max-width: 40rem; width: 100%; }
.nf-photo picture, .nf-photo img { aspect-ratio: 4 / 3; }
@media (min-width: 56rem) { .nf-wrap { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--s-8); } }

/* ---------- forms reference page (forms-demo.html) ---------- */
.forms-demo .fd-head { padding-block: var(--s-8) var(--s-6); display: grid; gap: var(--s-4); justify-items: start; }
.forms-demo .fd-head h1 { font: 800 var(--t-h1)/1 var(--font-display); letter-spacing: -.03em; max-width: 14ch; }
.forms-demo .fd-section { padding-block: var(--s-7); border-top: 3px dashed var(--line-strong); }
.forms-demo .fd-section > h2 { font: 800 var(--t-h3)/1.2 var(--font-display); letter-spacing: -.02em; margin-bottom: var(--s-2); }
.forms-demo .fd-section > p { color: var(--muted); max-width: 64ch; margin-bottom: var(--s-6); font-size: var(--t-small); line-height: var(--lh-small); }
.forms-demo .fd-grid { display: grid; gap: var(--s-5) var(--s-6); grid-template-columns: repeat(auto-fill, minmax(min(100%, 17.5rem), 1fr)); align-items: start; }
.forms-demo .fd-state { display: grid; gap: var(--s-2); }
.forms-demo .fd-state > .tag { justify-self: start; background: transparent; padding: 0; min-height: 0; font: 700 var(--t-meta)/1.3 var(--font-text); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--muted); }
.forms-demo .fd-band { background: var(--navy); color: #fff; padding: var(--s-6) var(--margin); margin-inline: calc(-1 * var(--margin)); }
.forms-demo .fd-band .fd-state > .tag { color: var(--navy-dim); }
.forms-demo .fd-row { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; }
.forms-demo .is-hover { border-color: var(--field-line-hover) !important; }
.forms-demo .is-focus { border-color: var(--focus) !important; background-color: var(--field-bg-focus) !important; outline: 3px solid var(--focus); outline-offset: 1px; }
.forms-demo code { font: 600 var(--t-small)/1 var(--font-text); background: var(--surface-2); padding: 2px 6px; border-radius: 4px; }
@media (min-width: 720px) { .forms-demo .fd-band { margin-inline: 0; border-radius: var(--r-panel); } }

/* ---------- round 2: shared head for the sample pages ---------- */
.pg-head { padding-block: clamp(32px, 4vw, 72px) var(--s-8); }
.pg-head__grid { display: grid; gap: var(--s-6); align-items: center; }
.pg-head__copy { display: grid; gap: var(--s-5); justify-items: start; }
.pg-head h1 { font-size: var(--t-h1); max-width: 14ch; }
.pg-head__tags { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.pg-head__photo { --fade-t: 0; --fade-r: 0; --fade-x: clamp(24px, 8vw, 110px); --fade-y: clamp(32px, 6vw, 80px); margin: 0; aspect-ratio: 3 / 2; width: 100%; max-width: 44rem; justify-self: end; }
.pg-head__photo picture, .pg-head__photo img { aspect-ratio: 3 / 2; }
.pg-head__photo--tall { --fade-size: clamp(28px, 6vw, 72px); --fade-x: var(--fade-size); --fade-y: var(--fade-size); --fade-t: 1; --fade-r: 1; aspect-ratio: 4 / 5; max-width: 22rem; justify-self: start; }
.pg-head__photo--tall picture, .pg-head__photo--tall img { aspect-ratio: 4 / 5; }
@media (min-width: 64rem) {
  .pg-head__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: var(--s-8); }
  .pg-head__photo { margin-right: calc(-1 * var(--margin)); width: calc(100% + var(--margin)); max-width: none; }
  .pg-head__photo--tall { margin-right: 0; width: 100%; max-width: 24rem; justify-self: center; }
}
.ls-close .btn + .link-arrow { margin-left: 0; }

/* inclusions under each price (lessons page) */
.ls-row__name .inc { margin-top: var(--s-3); color: var(--ink-soft); }
.ls-notes-btn { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-6); align-items: center; }

/* ---------- instructors ---------- */
.in-people { padding-bottom: var(--section); }
.in-people__head { display: grid; gap: var(--s-3); margin-bottom: var(--s-6); max-width: 60ch; }
.in-cards { display: grid; gap: var(--s-5); margin: 0; padding: 0; list-style: none; }
.in-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-4); padding: var(--s-5); background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--r-card); border-top: 6px solid var(--sun); }
.in-card__no { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--navy); color: #fff; font: 800 1.5rem/1 var(--font-display); }
.in-card > div { display: grid; gap: var(--s-2); align-content: start; }
.in-card p { margin: 0; color: var(--ink-soft); }
.in-card .in-card__tag { color: var(--ink); }
.in-card__role { font-weight: 700; color: var(--brand) !important; }
.in-look { background: var(--navy); color: #fff; padding-block: var(--section); }
.in-look__grid { display: grid; gap: var(--s-7); }
.in-look__grid > div:first-child { display: grid; gap: var(--s-4); align-content: start; justify-items: start; }
.in-look__list { display: grid; margin: 0; }
.in-look__list > div { display: grid; gap: var(--s-2); padding: var(--s-5) 0; border-top: 1px solid var(--navy-edge-soft); }
.in-look__list > div:last-child { border-bottom: 1px solid var(--navy-edge-soft); }
.in-look__list dt { font: 800 var(--t-h4)/1.2 var(--font-display); letter-spacing: -.01em; color: #fff; }
.in-look__list dd { margin: 0; color: var(--navy-dim); max-width: 60ch; }
.in-look__list a { color: #fff; font-weight: 700; text-decoration-color: var(--sun); text-underline-offset: 4px; }
@media (min-width: 48rem) { .in-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } .in-card { grid-template-columns: 1fr; align-content: start; } }
@media (min-width: 64rem) { .in-look__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-9); } }

/* ---------- areas ---------- */
.ar-check { padding-bottom: var(--section); }
.ar-check__grid { display: grid; gap: var(--s-5); align-items: start; }
.ar-check__copy { display: grid; gap: var(--s-3); }
.ar-form { max-width: none; }
.ar-list { padding-bottom: var(--section); }
.ar-list__head { display: grid; gap: var(--s-3); margin-bottom: var(--s-6); }
.ar-cards { display: grid; gap: var(--s-4); margin: 0; padding: 0; list-style: none; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.ar-card { display: grid; gap: var(--s-3); align-content: start; padding: var(--s-5); background: var(--surface); border: 1px solid var(--line-strong); border-radius: var(--r-card); }
.ar-card p { margin: 0; color: var(--ink-soft); font-size: var(--t-small); line-height: var(--lh-small); }
.ar-card .ar-card__tag { color: var(--ink); }
.ar-plate { justify-self: start; min-height: 56px; padding-inline: var(--s-5); font-size: 1.75rem; border-radius: 8px; }
.ar-how { background: var(--navy); color: #fff; padding-block: var(--section); }
.ar-how__grid { display: grid; gap: var(--s-6); }
.ar-how__grid > div { display: grid; gap: var(--s-3); align-content: start; }
.ar-how__steps { display: grid; gap: var(--s-4); margin: 0; padding: 0; list-style: none; counter-reset: ar; }
.ar-how__steps li { counter-increment: ar; display: grid; grid-template-columns: auto 1fr; gap: var(--s-4); padding: var(--s-4) 0; border-top: 1px solid var(--navy-edge-soft); color: var(--navy-dim); }
.ar-how__steps li::before { content: counter(ar); display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--sun); color: var(--navy); font: 800 1.125rem/1 var(--font-display); }
.ar-how__steps p { margin: 0; }
.ar-how__steps strong { color: #fff; }
@media (min-width: 64rem) { .ar-check__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-9); } .ar-how__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-9); } }

/* ---------- pass plan ---------- */
.pp-steps { padding-bottom: var(--section); }
.pp-steps__grid { display: grid; gap: var(--s-7); }
.pp-steps__side { display: grid; gap: var(--s-4); align-content: start; justify-items: start; }
.pp-steps__side p { margin: 0; }
.pp-list { display: grid; margin: 0; padding: 0; list-style: none; border-top: 3px solid var(--ink); }
.pp-step { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-5); padding: var(--s-5) 0; border-bottom: 1px solid var(--line-strong); }
.pp-step__n { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 12px; background: var(--sun); box-shadow: inset 0 0 0 2px var(--navy); color: var(--navy); font: 800 1.75rem/1 var(--font-display); }
.pp-step h3 { margin-bottom: var(--s-2); }
.pp-step p { margin: 0; color: var(--ink-soft); max-width: 56ch; }
@media (min-width: 64rem) { .pp-steps__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--s-9); } .pp-steps__side { position: sticky; top: calc(var(--header-h) + var(--s-6)); } }

/* ---------- FAQ ---------- */
.fq-wrap { padding-bottom: var(--section); }
.fq-grid { display: grid; gap: var(--s-6); }
.fq-side { display: grid; gap: var(--s-3); align-content: start; }
.fq-side p { margin: 0; }
.fq-groups { display: grid; gap: var(--s-7); }
.fq-group { display: grid; gap: 0; }
.fq-group > h2 { margin-bottom: var(--s-4); }
.fq-item { border-top: 1px solid var(--line-strong); }
.fq-group .fq-item:last-child { border-bottom: 1px solid var(--line-strong); }
.fq-item summary { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); min-height: 56px; padding: var(--s-3) 0; cursor: pointer; list-style: none; font: 700 1.125rem/1.3 var(--font-text); color: var(--ink); }
.fq-item summary::-webkit-details-marker { display: none; }
.fq-item summary::after { content: ""; flex: none; width: 24px; height: 24px; background: var(--brand); -webkit-mask: var(--i-plus) center / contain no-repeat; mask: var(--i-plus) center / contain no-repeat; }
.fq-item[open] summary::after { -webkit-mask-image: var(--i-minus); mask-image: var(--i-minus); }
.fq-item summary:hover { color: var(--brand); }
.fq-a { padding: 0 0 var(--s-5); max-width: 60ch; }
.fq-a p { margin: 0; color: var(--ink-soft); }
.fq-a a { color: var(--ink); font-weight: 700; text-decoration-color: var(--brand); text-underline-offset: 4px; text-decoration-thickness: 2px; }
:root { --i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); --i-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E"); }
@media (min-width: 64rem) { .fq-grid { grid-template-columns: minmax(0, 3fr) minmax(0, 8fr); gap: var(--s-9); } .fq-side { position: sticky; top: calc(var(--header-h) + var(--s-6)); } }

/* ---------- checklist ---------- */
.ck-wrap { padding-bottom: var(--section); }
.ck-grid { display: grid; gap: var(--s-6); }
.ck-side { display: grid; gap: var(--s-3); align-content: start; }
.ck-side p { margin: 0; }
.ck-groups { display: grid; gap: var(--s-7); }
.ck-group > h2 { margin-bottom: var(--s-3); }
.ck-list { display: grid; margin: 0; padding: 0; list-style: none; border-top: 3px solid var(--ink); }
.ck-list li { border-bottom: 1px solid var(--line-strong); }
.ck-item { align-items: flex-start; padding: var(--s-4) 0; min-height: 56px; }
.ck-item input { margin-top: 2px; flex: none; }
.ck-item > span { display: grid; gap: var(--s-1); }
.ck-item strong { color: var(--ink); }
.ck-d { color: var(--ink-soft); font-size: var(--t-small); line-height: var(--lh-small); max-width: 56ch; }
.ck-item:has(input:checked) strong { text-decoration: line-through; text-decoration-thickness: 2px; text-decoration-color: var(--brand); }
@media (min-width: 64rem) { .ck-grid { grid-template-columns: minmax(0, 3fr) minmax(0, 8fr); gap: var(--s-9); } .ck-side { position: sticky; top: calc(var(--header-h) + var(--s-6)); } }

/* ---------- enquire: steps and the sample response-time promise ---------- */
.eq-steps { display: grid; gap: var(--s-3); width: 100%; }
.eq-steps h2 { font: 700 var(--t-meta)/1.3 var(--font-text); letter-spacing: .1em; text-transform: uppercase; color: var(--brand); }
.eq-steps ol { display: grid; gap: var(--s-3); margin: 0; padding: 0; list-style: none; }
.eq-steps li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-3); align-items: start; }
.eq-steps__n { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--sun); box-shadow: inset 0 0 0 2px var(--navy); color: var(--navy); font: 800 1.125rem/1 var(--font-display); }
.eq-steps li > div { display: grid; gap: 2px; }
.eq-steps li span:not(.eq-steps__n) { color: var(--ink-soft); font-size: var(--t-small); line-height: var(--lh-small); }
.eq-promise { display: grid; gap: var(--s-3); width: 100%; padding: var(--s-5); background: var(--navy); color: #fff; border-radius: var(--r-card); }
.eq-promise h2 { font: 800 var(--t-h4)/1.2 var(--font-display); letter-spacing: -.01em; color: #fff; }
.eq-promise p { margin: 0; color: var(--navy-dim); font-size: var(--t-small); line-height: var(--lh-small); max-width: none; }
.eq-promise .eq-promise__tag { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
.eq-promise .eq-contact { background: transparent; border: 0; border-left: 6px solid var(--sun); padding: var(--s-1) var(--s-4); border-radius: 0; }
.eq-promise .eq-contact a { color: #fff; }
.eq-promise .eq-contact span { color: var(--navy-dim); font-size: var(--t-small); }
.eq-note { margin: 0; padding: var(--s-3) var(--s-4); border-radius: var(--r-control); border: 2px solid var(--control-line); font-size: var(--t-small); line-height: var(--lh-small); color: var(--ink); background: var(--surface-2); }
.eq-note.is-yes { border-color: var(--brand); background: var(--brand-tint); }
.eq-note.is-no { border-color: var(--ink); background: var(--sun-tint); }

/* ---- photo credits page (cr-) */
.cr-head { padding-block: clamp(32px, 4vw, 72px) var(--s-7); }
.cr-head__in { display: grid; gap: var(--s-5); justify-items: start; }
.cr-head .lede, .cr-head .fine { max-width: var(--measure); }
.cr-list-wrap { padding-block: 0 var(--section); }
.cr-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-5); }
.cr-item { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-4); padding: var(--s-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-panel); }
.cr-item__photo { margin: 0; }
.cr-item__photo img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-card); filter: var(--img-grade); }
.cr-item__text { display: grid; gap: var(--s-3); min-width: 0; }
.cr-item__what { font-weight: 700; margin: 0; }
.cr-item__meta { margin: 0; display: grid; gap: var(--s-2); font-size: var(--t-small); line-height: var(--lh-small); }
.cr-item__meta div { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: var(--s-3); }
.cr-item__meta dt { color: var(--muted); font-weight: 700; }
.cr-item__meta dd { margin: 0; overflow-wrap: anywhere; }
.cr-item__meta a { display: inline-block; min-width: 44px; padding-block: 11px; margin-block: -11px; }
@media (min-width: 48rem) {
  .cr-item { grid-template-columns: 12rem minmax(0, 1fr); align-items: start; }
}
