/* ---------- Services hub: grid ---------- */

.sgrid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 640px) { .sgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sgrid .scard--lead, .sgrid .scard--promo { grid-column: 1 / -1; } }
@media (min-width: 1100px) { .sgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; } .sgrid .scard--lead { grid-column: span 2; grid-row: span 2; } .sgrid .scard--promo { grid-column: auto; grid-template-columns: minmax(0, 1fr); align-content: space-between; } .scard--promo .jobcard__go { justify-self: end; } }
.scard { overflow: hidden; color: inherit; }
.scard__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--chalk-200); }
.scard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--ease-out); }
.scard:hover .scard__media img { transform: scale(1.05); }
.scard__num { position: absolute; left: 14px; top: 14px; z-index: 1; }
.scard__flag { position: absolute; right: 14px; top: 14px; z-index: 1; }
.scard .card__body { gap: 10px; padding: 18px 20px 20px; }
.scard__name { display: flex; justify-content: space-between; align-items: center; gap: 12px; font: var(--weight-black) 19px/1.2 var(--font-display); letter-spacing: -0.01em; color: var(--navy-700); }
.scard__line { font-size: 14px; line-height: 1.45; color: var(--text-muted); }
.scard__time { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 13px; color: var(--text-muted); margin-top: 2px; }
.scard__time b { color: var(--navy-800); }
.scard .mruler__ticks i { height: 12px; border-radius: 4px; }
.scard:hover .jobcard__go { background: var(--navy-800); border-color: var(--navy-800); color: var(--chalk-000); }
@media (min-width: 1100px) {
  .scard--lead { display: flex; flex-direction: column; }
  .scard--lead .scard__media { aspect-ratio: auto; flex: 1; min-height: 0; }
  .scard--lead .scard__media img { position: absolute; inset: 0; }
  .scard--lead .scard__name { font-size: 28px; }
  .scard--lead .scard__line { font-size: 16px; }
}
.scard--promo { display: grid; grid-template-columns: 52px minmax(0, 1fr) 44px; gap: 16px; align-items: center; padding: 22px; color: var(--chalk-000); background: linear-gradient(160deg, #122A45 0%, #1C3A5C 55%, #7A3327 100%); border-color: transparent; }
.scard--promo .scard__name { color: var(--chalk-000); }
.scard--promo p { font-size: 14px; color: var(--paper-a70); margin-top: 4px; }
.scard--promo .listp__ico { width: 52px; height: 52px; }
.scard--promo .jobcard__go { background: var(--chalk-000); border-color: var(--chalk-000); color: var(--navy-950); }

/* ---------- Reviews: scoreboard and wall ---------- */

.board { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 768px) { .board { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
@media (min-width: 1080px) { .board { grid-template-columns: 1.1fr 1fr 1fr 1fr; } }
.board__total { position: relative; overflow: hidden; display: grid; gap: 8px; align-content: end; min-height: 200px; padding: 26px; border-radius: var(--radius-xl); color: var(--chalk-000); background: var(--navy-950); box-shadow: var(--shadow-hero); }
.board__total .panel__glow { z-index: 0; }
.board__total > * { position: relative; z-index: 1; }
.board__total b { font: var(--weight-black) clamp(64px, 40px + 4vw, 104px)/1.05 var(--font-display); letter-spacing: -0.05em; background: var(--heat); -webkit-background-clip: text; background-clip: text; color: transparent; }
.board__total > span:not(.stars) { font-size: 15px; color: var(--paper-a70); }
.board__total .stars { margin-bottom: 6px; }
.board__card { display: grid; gap: 10px; align-content: space-between; padding: 24px; color: inherit; }
.board__card img { height: 20px; width: auto; }
.board__name { font: var(--weight-black) 20px/1 var(--font-display); letter-spacing: -0.02em; color: var(--navy-800); }
.board__card strong { font: var(--weight-black) clamp(40px, 30px + 2vw, 58px)/1 var(--font-display); letter-spacing: -0.03em; color: var(--navy-800); }
.board__card strong small { font-size: 18px; color: var(--text-soft); margin-left: 2px; }
.board__card span { font-size: 14px; color: var(--text-muted); }
.board__card .link { margin-top: 4px; }
.rwall { columns: 1; column-gap: 18px; }
@media (min-width: 700px) { .rwall { columns: 2; } }
@media (min-width: 1100px) { .rwall { columns: 3; } }
.rwall .qcard { break-inside: avoid; margin-bottom: 18px; display: flex; width: 100%; }
.rwall__more { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: center; margin-top: var(--space-lg); }

/* ---------- Contact ---------- */

.contact { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }
@media (min-width: 960px) { .contact { grid-template-columns: 0.85fr 1.15fr; gap: var(--space-2xl); align-items: start; } }
.cpanel { position: relative; overflow: hidden; display: grid; gap: 22px; padding: 28px 24px; border-radius: var(--radius-xl); color: var(--chalk-000); background: var(--navy-950); box-shadow: var(--shadow-hero); }
@media (min-width: 768px) { .cpanel { padding: 36px 34px; } }
@media (min-width: 960px) { .cpanel { position: sticky; top: calc(var(--header-h) + var(--header-top) + 24px); } }
.cpanel > * { position: relative; z-index: 1; }
.cpanel .panel__glow { z-index: 0; }
.cpanel .eyebrow { color: var(--navy-200); }
.cpanel h2 { font: var(--weight-black) clamp(30px, 22px + 1.6vw, 42px)/1.12 var(--font-display); letter-spacing: -0.03em; color: var(--chalk-000); }
.cpanel > p { font-size: 16px; line-height: 1.6; color: var(--paper-a70); }
.cpanel__phone { display: grid; gap: 4px; padding: 18px 20px; border-radius: var(--radius-md); background: var(--paper-a08); border: 1px solid var(--line-on-ink); }
.cpanel__phone span { font: var(--weight-bold) 11px/1 var(--font-body); letter-spacing: 0.14em; text-transform: uppercase; color: var(--navy-200); }
.cpanel__phone a { font: var(--weight-black) clamp(28px, 22px + 1.4vw, 38px)/1.1 var(--font-display); letter-spacing: -0.02em; color: var(--chalk-000); transition: color var(--dur-hover); }
.cpanel__phone a:hover { color: var(--amber-500); }
.cpanel__list { display: grid; gap: 0; }
.cpanel__list li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line-on-ink); }
.cpanel__list li:last-child { border-bottom: 1px solid var(--line-on-ink); }
.cpanel__ico { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--paper-a14); color: var(--chalk-000); }
.cpanel__ico .ico { width: 20px; height: 20px; }
.cpanel__list strong { display: block; font-size: 15px; color: var(--chalk-000); }
.cpanel__list span, .cpanel__list a { font-size: 14px; color: var(--paper-a70); }
.cpanel__list a { text-decoration: underline; text-underline-offset: 3px; transition: color var(--dur-hover); }
.cpanel__list a:hover { color: var(--chalk-000); }
.cnext { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
@media (min-width: 640px) { .cnext { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .cnext { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } }
.cstep { display: grid; gap: 10px; align-content: start; padding: 22px; }
.cstep__num { font: var(--weight-black) 13px/1 var(--font-display); letter-spacing: 0.1em; color: var(--clay-600); }
.cstep strong { font: var(--weight-black) 19px/1.2 var(--font-display); color: var(--navy-700); }
.cstep p { font-size: 14px; line-height: 1.5; color: var(--text-muted); }
.cstep .chip { justify-self: start; }
.btn--orb-call .btn__orb .ico, .btn--orb-call:hover .btn__orb .ico { transform: none; }

/* ---------- Services hub: the two wide cards ---------- */

.sgrid--wide { margin-top: 14px; }
.sgrid--wide .scard--wide { grid-column: auto; }
.scard__kicker { justify-self: start; }
@media (min-width: 1100px) {
  .sgrid--wide { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; }
  .scard--wide { display: grid; grid-template-columns: 0.85fr 1.15fr; }
  .scard--wide .scard__media { aspect-ratio: auto; min-height: 240px; }
  .scard--wide .scard__media img { position: absolute; inset: 0; }
  .scard--wide .card__body { align-content: center; padding: 24px 26px; }
}

/* ---------- FAQ page ---------- */

.faqp { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }
.faqp__side { display: contents; }
.faqp__toc { order: 0; }
.faqp__main { order: 1; display: grid; gap: var(--space-xl); }
.faqp__ask { order: 2; }
@media (min-width: 960px) {
  .faqp { grid-template-columns: 340px minmax(0, 1fr); gap: var(--space-2xl); align-items: start; }
  .faqp__side { display: grid; gap: 16px; position: sticky; top: calc(var(--header-h) + var(--header-top) + 24px); }
  .faqp .cpanel { position: relative; top: auto; }
}
.faqp__toc { display: grid; gap: 4px; padding: 16px; border-radius: var(--radius-lg); background: var(--white); border: 1px solid var(--ink-a08); }
.faqp__toc .eyebrow { margin: 4px 10px 8px; }
.faqp__toc a { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 12px 10px; border-radius: var(--radius-md); font-size: 15px; font-weight: var(--weight-bold); color: var(--navy-800); transition: background var(--dur-hover), color var(--dur-hover); }
.faqp__toc a span { font: var(--weight-black) 12px/1 var(--font-display); letter-spacing: 0.08em; color: var(--clay-600); transition: color var(--dur-hover); }
.faqp__toc a small { min-width: 26px; height: 26px; padding: 0 8px; border-radius: 13px; display: grid; place-items: center; font-size: 12px; color: var(--text-muted); background: var(--navy-050); transition: background var(--dur-hover), color var(--dur-hover); }
.faqp__toc a:hover { background: var(--chalk-100); }
.faqp__toc a.is-on { background: var(--navy-950); color: var(--chalk-000); }
.faqp__toc a.is-on span { color: var(--amber-500); }
.faqp__toc a.is-on small { background: var(--paper-a14); color: var(--chalk-000); }
.faqp__ask { gap: 16px; }
.faqp__ask h2 { font-size: clamp(26px, 20px + 1vw, 32px); }
.faqp__ask .btn { justify-self: start; }
.faqp__ask .cpanel__phone { padding: 14px 18px; }
.faqp__ask .cpanel__phone a { font-size: 28px; white-space: nowrap; }
@media (min-width: 960px) { .faqp__ask { padding: 26px 24px; } }
/* The sidebar always sticks, so on shorter screens it tightens to fit under the header */
@media (min-width: 960px) and (max-height: 900px) {
  .faqp__side { gap: 12px; }
  .faqp__toc { gap: 2px; padding: 12px; }
  .faqp__toc .eyebrow { margin: 2px 10px 4px; }
  .faqp__toc a { padding: 7px 10px; }
  .faqp__ask { gap: 10px; }
  .faqp__ask.cpanel { padding: 18px 20px; }
  .faqp__ask .eyebrow, .faqp__ask > p:not(.eyebrow) { display: none; }
  .faqp__ask h2 { font-size: 22px; }
  .faqp__ask .cpanel__phone { padding: 10px 14px; }
  .faqp__ask .cpanel__phone a { font-size: 24px; }
}
@media (min-width: 960px) and (max-height: 640px) { .faqp__ask { display: none; } }
.faqp__group { scroll-margin-top: calc(var(--header-h) + var(--header-top) + 24px); }
.faqp__h { display: flex; align-items: baseline; gap: 12px; padding-bottom: 14px; margin-bottom: 6px; border-bottom: 2px solid var(--navy-800); font: var(--weight-black) clamp(24px, 20px + 0.8vw, 32px)/1.15 var(--font-display); letter-spacing: -0.02em; color: var(--navy-700); }
.faqp__h span { font-size: 14px; letter-spacing: 0.1em; color: var(--clay-600); }
.faqp .acc__body { padding-left: 36px; }
.faqp .acc__body a, .legal a:not(.btn) { color: var(--navy-800); text-decoration: underline; text-underline-offset: 3px; transition: color var(--dur-hover); }
.faqp .acc__body a:hover, .legal a:not(.btn):hover { color: var(--clay-600); }

/* ---------- Privacy and terms ---------- */

.legal { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
@media (min-width: 960px) {
  .legal { grid-template-columns: 300px minmax(0, 1fr); gap: var(--space-2xl); align-items: start; }
  .legal__side { position: sticky; top: calc(var(--header-h) + var(--header-top) + 24px); }
}
.legal__side { display: grid; gap: 16px; }
.legal__meta { display: grid; gap: 4px; padding: 20px 22px; }
.legal__meta > span { font: var(--weight-bold) 11px/1 var(--font-body); letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-soft); }
.legal__meta strong { font: var(--weight-black) 20px/1.3 var(--font-display); color: var(--navy-800); }
.legal__meta p { margin-top: 8px; font-size: 14px; line-height: 1.55; color: var(--text-muted); }
.legal__toc { display: none; }
@media (min-width: 960px) { .legal__toc { display: grid; gap: 10px; } }
.legal__toc .eyebrow { margin-left: 10px; }
.legal__toc ol { display: grid; gap: 2px; }
.legal .legal__toc a { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 6px; padding: 9px 10px; border-radius: var(--radius-md); font-size: 14px; font-weight: var(--weight-semibold); color: var(--text-muted); text-decoration: none; transition: background var(--dur-hover), color var(--dur-hover), box-shadow var(--dur-hover); }
.legal__toc a span { font: var(--weight-black) 11px/1.6 var(--font-display); color: var(--clay-600); }
.legal .legal__toc a:hover { color: var(--navy-800); background: var(--chalk-100); }
.legal .legal__toc a.is-on { color: var(--navy-800); background: var(--white); box-shadow: inset 3px 0 0 var(--clay-600), var(--shadow-card); }
.legal__body { max-width: 780px; }
.legal__draft { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; margin-bottom: 8px; border-radius: var(--radius-md); border: 1px dashed var(--line-strong); font-size: 14px; line-height: 1.6; }
.legal__draft .ico { width: 20px; height: 20px; flex-shrink: 0; color: var(--clay-600); margin-top: 1px; }
.legal__sec { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 4px 16px; padding: 28px 0; border-top: 1px solid var(--line); scroll-margin-top: calc(var(--header-h) + var(--header-top) + 24px); }
.legal__sec:last-child { border-bottom: 1px solid var(--line); }
@media (min-width: 768px) { .legal__sec { grid-template-columns: 64px minmax(0, 1fr); padding: 34px 0; } }
.legal__num { font: var(--weight-black) 26px/1.1 var(--font-display); letter-spacing: -0.03em; background: var(--heat); -webkit-background-clip: text; background-clip: text; color: transparent; }
@media (min-width: 768px) { .legal__num { font-size: 32px; } }
.legal__sec h2 { font: var(--weight-black) 22px/1.2 var(--font-display); letter-spacing: -0.01em; color: var(--navy-700); }
.legal__sec p { margin-top: 10px; max-width: 660px; font-size: 16px; line-height: 1.7; color: var(--text-muted); }

/* ---------- Sitemap ---------- */

.smap { display: grid; margin-top: 12px; }
.legal .smap a { display: grid; grid-template-columns: minmax(0, 1fr) 20px; gap: 2px 16px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line); color: var(--text-muted); text-decoration: none; }
.smap li:first-child a { border-top: 0; }
.smap strong { font: var(--weight-bold) 17px/1.3 var(--font-display); color: var(--navy-700); transition: color var(--dur-hover); }
.smap span { grid-column: 1; font-size: 14px; line-height: 1.5; }
.smap .ico { grid-column: 2; grid-row: 1 / span 2; width: 20px; height: 20px; color: var(--clay-600); transition: transform var(--dur-hover); }
.legal .smap a:hover { color: var(--text-muted); }
.smap a:hover strong { color: var(--clay-600); }
.smap a:hover .ico { transform: translateX(3px); }

/* ---------- 404 ---------- */

.lost { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); align-items: center; }
@media (min-width: 960px) { .lost { grid-template-columns: 0.8fr 1.2fr; gap: var(--space-2xl); } }
.lost__code { position: relative; overflow: hidden; display: grid; gap: 20px; padding: 32px 28px; border-radius: var(--radius-xl); background: var(--navy-950); box-shadow: var(--shadow-hero); }
.lost__code b { font: var(--weight-black) clamp(104px, 70px + 9vw, 220px)/1 var(--font-display); letter-spacing: -0.06em; background: var(--heat); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lost__code .mruler__ticks i { background: var(--paper-a08); border-color: var(--line-on-ink); }
.lost__code .mruler__ticks i.is-on { background: var(--clay-500); border-color: var(--clay-500); }
.lost__code .mruler__ticks i.is-win { background: var(--paper-a32); border-color: transparent; }
.lost__main { display: grid; gap: 16px; }
.lost__links { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 6px; }
@media (min-width: 640px) { .lost__links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lost__link { display: grid; grid-template-columns: 44px minmax(0, 1fr) 40px; gap: 14px; align-items: center; padding: 16px 18px; color: inherit; }
.lost__ico { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; color: var(--navy-800); background: var(--navy-050); transition: background var(--dur-hover), color var(--dur-hover); }
.lost__ico .ico { width: 22px; height: 22px; }
.lost__link strong { display: block; font: var(--weight-black) 17px/1.2 var(--font-display); color: var(--navy-700); }
.lost__link small { display: block; margin-top: 3px; font-size: 13px; line-height: 1.4; color: var(--text-muted); }
.lost__link:hover .lost__ico { background: var(--clay-600); color: var(--chalk-000); }
.lost__link:hover .jobcard__go { background: var(--navy-800); border-color: var(--navy-800); color: var(--chalk-000); }
.lost__call { display: grid; gap: 14px; margin-top: 8px; padding-top: 20px; border-top: 1px solid var(--line); }
.lost__call p { font-size: 16px; color: var(--text-muted); }
.lost__call p a { font-weight: var(--weight-bold); color: var(--navy-800); transition: color var(--dur-hover); }
.lost__call p a:hover { color: var(--clay-600); }

/* ---------- Thank you ---------- */

.thanks { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }
@media (min-width: 960px) { .thanks { grid-template-columns: 1.3fr 0.7fr; gap: var(--space-2xl); align-items: center; } .thanks .cpanel { position: relative; top: auto; } }
.thanks__panel { gap: 18px; }
.thanks__mark { width: 72px; height: 72px; fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.thanks__mark circle { stroke: var(--paper-a32); stroke-dasharray: 183; stroke-dashoffset: 183; animation: thanksDraw 900ms 300ms var(--ease-out) forwards; }
.thanks__mark path { stroke: var(--amber-500); stroke-dasharray: 44; stroke-dashoffset: 44; animation: thanksDraw 600ms 900ms var(--ease-out) forwards; }
@keyframes thanksDraw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .thanks__mark circle, .thanks__mark path { animation: none; stroke-dashoffset: 0; } }
.thanks__side { display: grid; gap: 14px; }
.thanks__tip { font-size: 16px; line-height: 1.6; color: var(--text-muted); }
.cstep--done { background: var(--navy-950); border-color: transparent; }
.cstep--done .cstep__num { display: inline-flex; align-items: center; gap: 6px; color: var(--amber-500); }
.cstep--done .cstep__num .ico { width: 16px; height: 16px; }
.cstep--done strong { color: var(--chalk-000); }
.cstep--done p { color: var(--paper-a70); }
@media (min-width: 960px) and (max-height: 700px) { .legal__side { position: static; } }
.sgrid--wide .scard--wide:only-child { grid-column: 1 / -1; }

/* ---------- Services hub: every trade and service, from the Rated People list (27 October 2026) ---------- */

.trades .panel { padding: 48px 0; }
@media (min-width: 768px) { .trades .panel { padding: 72px 0; } }
.trades__grid { columns: 1; column-gap: 40px; margin-top: var(--space-xl); }
@media (min-width: 640px) { .trades__grid { columns: 2; } }
@media (min-width: 1024px) { .trades__grid { columns: 3; column-gap: 48px; } }
.tgroup { break-inside: avoid; display: grid; gap: 12px; padding: 20px 0 26px; border-top: 1px solid var(--line-on-ink); }
.tgroup__name { display: flex; align-items: baseline; gap: 12px; font: var(--weight-black) 19px/1.2 var(--font-display); letter-spacing: -0.01em; color: var(--chalk-000); }
.tgroup__num { flex-shrink: 0; width: 20px; font: var(--weight-bold) 11px/1 var(--font-body); letter-spacing: 0.08em; color: #E3A322; }
.tgroup__name a { display: inline-flex; align-items: center; gap: 8px; color: inherit; transition: color var(--dur-hover); }
.tgroup__name a .ico { width: 16px; height: 16px; flex-shrink: 0; color: #E3A322; transition: transform var(--dur-hover) var(--ease-out); }
.tgroup__name a:hover { color: #E3A322; }
.tgroup__name a:hover .ico { transform: translateX(3px); }
.tgroup__list { display: grid; gap: 8px; padding-left: 32px; }
.tgroup__list li { position: relative; padding-left: 16px; font-size: 14.5px; line-height: 1.45; color: var(--paper-a70); }
.tgroup__list li::before { content: ""; position: absolute; left: 0; top: 10px; width: 7px; height: 2px; border-radius: 2px; background: #E3A322; }
.tgroup__note { padding-left: 32px; font-size: 12px; line-height: 1.4; color: var(--navy-200); }

/* The big phone number fits its box on one line at every width */
.cpanel__phone { container-type: inline-size; }
.cpanel__phone a { font-size: min(clamp(28px, 22px + 1.4vw, 38px), 100cqi / 8.4); }
.faqp__ask .cpanel__phone a { font-size: min(28px, 100cqi / 8.4); }

/* Services hub small jobs card on phones: icon and arrow on top, text across the full width */
@media (max-width: 599px) {
  .scard--promo { grid-template-columns: 52px minmax(0, 1fr) 44px; grid-template-areas: "ico . go" "body body body"; row-gap: 16px; }
  .scard--promo .listp__ico { grid-area: ico; }
  .scard--promo .jobcard__go { grid-area: go; }
  .scard--promo > span:nth-child(2) { grid-area: body; }
}

/* Contact panel: the email address may break only when the screen is too narrow for it */
.cpanel__list a { overflow-wrap: anywhere; }
@media (max-width: 359px) { .cpanel__list span, .cpanel__list a { font-size: 13px; } }

/* Reviews scoreboard: the big score ("Excellent") scales to its card */
.board__card { grid-template-columns: minmax(0, 1fr); container-type: inline-size; }
.board__card strong { font-size: min(clamp(40px, 30px + 2vw, 58px), 100cqi / 4.9); }

/* Mobile type scale: the review total is a display figure */
@media (max-width: 599px) { .board__total b { font-size: 52px; } }
