@font-face { font-family: "Archivo"; font-style: normal; font-weight: 100 900; font-stretch: 62% 125%; font-display: swap;
  src: url("/fonts/archivo-var-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("/fonts/plexmono-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("/fonts/plexmono-500-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --wo-h: 0px; --dial: 0px;
  --black: #0b0b0c; --ink: #15161a; --ink-2: #1f2126;
  --paper: #f2efea; --paper-2: #e7e2da; --text: #1a1b1e; --muted: #585c63;
  --silver: #c9cdd2; --silver-2: #8e949b; --silver-3: #5f656d;
  --red: #d7262f; --red-dk: #b51e27; --cyan: #2fb8d6; --cyan-dk: #0f6678; --yellow: #f2b01e;
  --line: rgba(0,0,0,.14); --line-dk: rgba(255,255,255,.16);
  --sans: "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, Menlo, monospace;
  --hdr: 64px; --pbar: 60px;
  --wrap: 74rem; --gut: clamp(16px, 4vw, 2.5rem);
  --focus: #0f6678;
  --sweep: linear-gradient(90deg, var(--cyan) 0 9%, transparent 9% 10%, var(--yellow) 10% 19%, transparent 19% 20%, var(--red) 20% 100%);
  --bw: 196px; --dial-sm: clamp(92px, 27vw, 132px);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--hdr) + .5rem); scroll-padding-bottom: calc(var(--pbar) + .5rem); -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; font: 400 1.0625rem/1.55 var(--sans); color: var(--text); background: var(--paper); padding-bottom: var(--pbar); overflow-wrap: anywhere; }
body.menu-open { overflow: hidden; }
img, svg, picture { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; }
h1, h2, h3, p, dl, dd, ul, ol, blockquote, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.ftr :focus-visible, .hero :focus-visible, .garage :focus-visible, .wo :focus-visible, .strip :focus-visible, .pbar :focus-visible { outline-color: #fff; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.wrap { width: min(100% - 2 * var(--gut), var(--wrap)); margin-inline: auto; }
.mono { font-family: var(--mono); font-size: .92rem; letter-spacing: .01em; }

.h1, .h2, .h3 { font-family: var(--sans); text-transform: uppercase; text-wrap: balance; }
.h1 { font-weight: 800; font-stretch: 68%; font-size: clamp(2.5rem, 2rem + 4.2vw, 5.25rem); line-height: .94; letter-spacing: -.005em; }
.h2 { font-weight: 750; font-stretch: 72%; font-size: clamp(1.9rem, 1.5rem + 2.6vw, 3.4rem); line-height: .98; }
.h3 { font-weight: 700; font-stretch: 82%; font-size: 1.35rem; line-height: 1.1; letter-spacing: .01em; }
.eyebrow--gap { margin-top: 2rem; }
.eyebrow { font-family: var(--mono); font-size: .78rem; font-weight: 500; text-transform: uppercase; letter-spacing: .14em; color: var(--muted); margin-bottom: .9rem; }
.lede { font-size: 1.15rem; line-height: 1.5; max-width: 38rem; margin-top: 1.25rem; }
.sec-head { max-width: 46rem; }
.sec-p { margin-top: 1rem; max-width: 40rem; color: var(--muted); }

.ruler { height: 14px; margin: 1.75rem 0; color: var(--silver-2);
  background: linear-gradient(90deg, var(--cyan) 0 45%, var(--yellow) 45% 81%, var(--red) 81% 100%) left bottom / 100% 2px no-repeat,
              repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 8px) left bottom / 100% 7px no-repeat,
              repeating-linear-gradient(90deg, currentColor 0 1px, transparent 1px 40px) left bottom / 100% 14px no-repeat; }
.ruler--light { color: var(--silver-3); }

.brand { position: relative; display: block; width: var(--bw); max-width: 100%; aspect-ratio: 1369 / 238; overflow: hidden; background: var(--black); }
.brand__img { position: absolute; inset: 0; width: 100%; height: 100% !important; max-width: none; }

.brand__img[hidden] { display: none; }

.brand__img::before { content: ""; display: block; width: 100%; height: 100%; }
.brand__txt { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; gap: calc(var(--bw) * .006); text-transform: uppercase; line-height: 1; text-align: center; overflow-wrap: normal; }
.brand__red { font-weight: 850; font-size: calc(var(--bw) * .1); letter-spacing: .02em; color: #f0444d; }
.brand__rest { font-weight: 650; font-size: calc(var(--bw) * .047); letter-spacing: .22em; color: #e6e8eb; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 3rem; padding: .7rem 1.15rem; border-radius: 4px; border: 1px solid transparent;
  font: 650 .98rem/1.15 var(--sans); font-stretch: 92%; text-transform: uppercase; letter-spacing: .05em; text-decoration: none; text-wrap: balance; text-align: center; cursor: pointer; }
.btn svg { flex: none; }
.btn--red { background: var(--red); color: #fff; }
.btn--red:hover { background: var(--red-dk); }
.btn--line { border-color: rgba(255,255,255,.55); color: #fff; background: transparent; }
.btn--line:hover { border-color: #fff; background: rgba(255,255,255,.06); }
.btn--dark { background: var(--black); color: #fff; }
.btn--line-dark { border-color: var(--text); color: var(--text); background: transparent; }
.btn--line-dark:hover { background: rgba(0,0,0,.05); }
.btn--lg { min-height: 3.5rem; padding: .9rem 1.4rem; font-size: 1.05rem; }
.btn--sm { min-height: 44px; padding: 8px 14px; font-size: 14px; }
.btn-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; align-items: center; }
.link-arrow { display: inline-flex; align-items: center; gap: .5rem; font-weight: 650; font-stretch: 90%; text-transform: uppercase; letter-spacing: .05em; font-size: .95rem; text-decoration: none; min-height: 2.75rem; padding: .25rem 0; border-bottom: 2px solid var(--red); }
.link-arrow .arrow { transition: transform .2s; }
.link-arrow:hover .arrow { transform: translateX(3px); }
.link-arrow--light { color: #fff; }

.skip { position: fixed; top: 0; left: 0; z-index: 100; max-width: 100%; padding: .75rem 1rem; background: var(--black); color: #fff; font-family: var(--mono); text-decoration: none; transform: translateY(-100%); }
.skip:focus { transform: translateY(0); outline-color: var(--yellow); }

.hdr { position: sticky; top: 0; z-index: 50; background: var(--paper); }
.hdr::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--sweep); pointer-events: none; }
.hdr__in { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: var(--hdr); flex-wrap: nowrap; padding-block: 8px; }

.hdr__brand { text-decoration: none; display: inline-flex; min-height: 44px; align-items: center; flex: none; background: var(--black); border-radius: 3px; padding: 4px 8px; }
@media (max-width: 22.49em) { :root { --bw: 172px; } }
.hdr__call { display: none; }
.hdr__menu { display: none; overflow-wrap: normal; align-items: center; gap: 10px; min-height: 44px; padding: 6px 10px; background: none; border: 1px solid var(--line); border-radius: 4px; font: 600 13px var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--text); cursor: pointer; }
.hdr__menu-bars { width: 18px; height: 2px; background: currentColor; position: relative; }
.hdr__menu-bars::before, .hdr__menu-bars::after { content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: currentColor; }
.hdr__menu-bars::before { top: -6px; } .hdr__menu-bars::after { top: 6px; }
.hdr__menu[aria-expanded="true"] .hdr__menu-bars { background: transparent; }
.hdr__menu[aria-expanded="true"] .hdr__menu-bars::before { top: 0; transform: rotate(45deg); }
.hdr__menu[aria-expanded="true"] .hdr__menu-bars::after { top: 0; transform: rotate(-45deg); }
@media (max-width: 22.49em) {
  .hdr__menu { min-width: 44px; justify-content: center; }
  .hdr__menu-t { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
}
.nav__list { display: flex; flex-wrap: wrap; gap: .25rem 1.1rem; }
.nav__list a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding-inline: 3px; text-decoration: none; font-weight: 600; font-stretch: 90%; text-transform: uppercase; letter-spacing: .07em; font-size: 14px; border-bottom: 2px solid transparent; }
.nav__list a[aria-current="page"] { border-bottom-color: var(--red); }
.nav__sheet-foot { display: none; }

.js .hdr__menu { display: inline-flex; }
@media (max-width: 47.99em) {
  .js .nav { position: fixed; inset: var(--hdr) 0 0 0; z-index: 40; background: var(--black); color: #fff; padding: 1.5rem var(--gut) 2rem; overflow-y: auto; scroll-padding-bottom: var(--pbar);
    transform: translateX(100%); visibility: hidden; transition: transform .25s ease, visibility 0s linear .25s; }
  .js .nav.is-open { transform: none; visibility: visible; transition: transform .25s ease; }
  .js .nav :focus-visible { outline-color: #fff; } 
  .js .nav__list { flex-direction: column; gap: 0; }
  .js .nav__list a { justify-content: flex-start; min-height: 3.25rem; font-size: 1.6rem; font-weight: 750; font-stretch: 70%; letter-spacing: .02em; border-bottom: 1px solid var(--line-dk); width: 100%; }
  .js .nav__list a[aria-current="page"] { color: var(--silver); border-bottom-color: var(--red); }
  .js .nav__sheet-foot { display: block; margin-top: 1.5rem; }
  .js .nav__sheet-foot .btn { width: 100%; margin-bottom: .6rem; }
  .nav__addr { color: var(--silver); margin-top: 1rem; }
  @media (prefers-reduced-motion: reduce) { .js .nav { transition: none; } }
}
@media (min-width: 48em) {
  :root { --bw: 216px; }
  .hdr__call { display: inline-flex; }
  .js .hdr__menu { display: none; }
  .hdr__in { flex-wrap: nowrap; }
}

.pbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--black); border-top: 1px solid var(--line-dk); }
.pbar__a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: var(--pbar); padding: 8px 12px; color: #fff; text-decoration: none; font: 650 15px/1.15 var(--sans); font-stretch: 92%; text-transform: uppercase; letter-spacing: .05em; text-wrap: balance; text-align: center; }
.pbar__a--call { background: var(--red); }
.pbar__a--text { border-left: 1px solid var(--line-dk); }
@media (min-width: 48em) { .pbar { display: none; } body { padding-bottom: 0; } html { scroll-padding-bottom: .5rem; } }

.hero { background: var(--black); color: #fff; display: grid; grid-template-columns: minmax(0, 1fr); }
.hero__media { position: relative; }
.hero__media .ph img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 18%; max-height: 72vh; }
.hero__panel { position: relative; padding: 2rem var(--gut) 2.5rem; }
.hero__panel-in { position: relative; z-index: 1; max-width: 40rem; }
.hero .eyebrow { color: var(--silver); text-wrap: balance; }
.hero .lede { color: var(--silver); }
.hero .h1 { margin-top: .25rem; }

.gauge-box { position: absolute; right: 0; bottom: 100%; width: var(--dial-sm); height: var(--dial-sm); padding: 6px; background: var(--black); border-top-left-radius: 50%; pointer-events: none; }
.gauge-box::before { content: ""; position: absolute; inset: 2px; border: 1px solid var(--line-dk); border-radius: 50%; }

.gauge-box::after { content: ""; position: absolute; left: -12px; bottom: 0; width: 12px; height: 12px; background: radial-gradient(circle at 0 0, transparent 11.5px, var(--black) 12px); }
.gauge-box .gauge { position: relative; width: 100%; height: 100%; }
@media (max-width: 29.99em) { .hero .btn-row .btn { flex: 1 1 100%; } }

@media (max-width: 47.99em) {
  .hero { --hero-h1: clamp(2.5rem, 2rem + 4.2vw, 5.25rem); --hero-text: calc(2rem + 3.35rem + .25rem + 2.82 * var(--hero-h1) + 1.25rem + 3.45rem + .5rem); }
  .hero__media .ph img { max-height: clamp(136px, 100vh - var(--hdr) - var(--pbar) - 2px - var(--hero-text), 72vh); max-height: clamp(136px, 100svh - var(--hdr) - var(--pbar) - 2px - var(--hero-text), 72vh); }
  .hero__media .ph img { object-position: 50% 62%; } 
}
@media (max-width: 22.49em) { .hero { --hero-text: calc(2rem + 3.35rem + .25rem + 3.76 * var(--hero-h1) + .5rem); } }
.g-band { fill: none; stroke-width: 3; stroke-linecap: butt; }
.g-cyan { stroke: var(--cyan); } .g-yellow { stroke: var(--yellow); } .g-redband { stroke: var(--red); }
.g-minor { stroke: var(--silver-3); stroke-width: 1; } .g-major { stroke: var(--silver); stroke-width: 2; }
.g-num { fill: var(--silver); font: 500 13px var(--mono); text-anchor: middle; }
.g-red.g-major, .g-red.g-minor { stroke: var(--red); } .g-num.g-red { fill: var(--red); }
.g-unit { fill: var(--silver-2); font: 500 11px var(--mono); text-anchor: middle; letter-spacing: .04em; }
.g-needle { transform-box: view-box; transform-origin: 50% 50%; }
.g-needle line { stroke: var(--red); stroke-width: 2.5; stroke-linecap: round; }
.g-hub { fill: var(--ink-2); stroke: var(--silver-2); stroke-width: 1.5; }

@media (prefers-reduced-motion: no-preference) { .js .g-needle { transform: rotate(-203.125deg); } }
@media (min-width: 48em) {
  :root { --wo-h: 6.5rem; --dial: clamp(160px, min(32vh, 16vw), 240px); }
  .hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: calc(100vh - var(--hdr) - var(--wo-h)); }
  .hero__panel { order: 1; display: flex; align-items: flex-end; padding: 1.25rem var(--gut) 1.5rem; }
  .hero__media { order: 2; }
  .hero__media .ph, .hero__media .ph img { height: 100%; }
  .hero__media .ph { position: absolute; inset: 0; }
  .hero__media .ph img { width: 100%; }
  .hero__media .ph img { aspect-ratio: auto; max-height: none; min-height: 100%; object-position: 55% 50%; }
  .gauge-box { z-index: 2; left: 100%; right: auto; top: auto; bottom: 0; width: var(--dial); height: var(--dial); padding: 14px; overflow: visible; border-top-left-radius: 0; border-top-right-radius: 50%; }
  .gauge-box::before { inset: 4px; }
  .gauge-box::after { left: 0; bottom: auto; top: -20px; width: 20px; height: 20px; background: radial-gradient(circle at 100% 0, transparent 19.5px, var(--black) 20px); }
  .gauge-box .gauge { width: 100%; height: 100%; }
  .hero__panel { padding-left: calc((100vw - min(100vw - 2 * var(--gut), var(--wrap))) / 2); }
  .hero__panel-in { padding-top: 0; }
  .hero .lede { margin-top: 1rem; font-size: 1.0625rem; } 
  .hero .btn-row { margin-top: 1.25rem; }
  .hero .h1 { font-size: clamp(2.5rem, min(2rem + 4.2vw, 24.58vh - 109.92px + (1rem - 16px) * 5.25), 5.25rem); }
  @media (max-height: 41.25em) { .hero .h1 { font-size: clamp(2.5rem, min(2rem + 4.2vw, 10vh + (1rem - 16px) * 5.25), 5.25rem); } }
  @media (max-width: 63.99em) { .hdr__call span { display: none; } .hdr__call { padding: 8px 12px; } }
}

@media (min-width: 48em) and (max-width: 63.99em) {
  .hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .hero .h1 { font-size: clamp(2.5rem, min(1.25rem + 4.2vw, 24.58vh - 109.92px + (1rem - 16px) * 5.25), 5.25rem); }
  @media (max-height: 41.25em) { .hero .h1 { font-size: clamp(2.5rem, min(1.25rem + 4.2vw, 10vh + (1rem - 16px) * 5.25), 5.25rem); } }
}

.wo { background: var(--ink); color: #fff; border-top: 1px solid var(--line-dk); border-bottom: 1px solid var(--line-dk); }
.wo__list { display: grid; grid-template-columns: minmax(0, 1fr); }
.wo__list > div { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line-dk); }
.wo__list > div:last-child { border-bottom: 0; }
.wo__list dt { color: var(--silver-2); text-transform: uppercase; letter-spacing: .12em; font-size: .74rem; font-weight: 500; padding-top: .15rem; }
.wo__list dd { color: #fff; }
@media (min-width: 48em) {
  .wo__list { grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 1.6fr); } 
  .wo__list > div { grid-template-columns: minmax(0, 1fr); gap: .3rem; padding: .8rem 1rem .8rem 0; border-bottom: 0; border-right: 1px solid var(--line-dk); margin-right: 1rem; }
  .wo__list > div:last-child { border-right: 0; margin-right: 0; }
}
@media (min-width: 48em) and (max-width: 63.99em) {
  :root { --wo-h: 11rem; }
  .wo__list { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .wo__list > div { grid-column: span 2; }
  .wo__list > div:nth-child(3) { border-right: 0; margin-right: 0; }
  .wo__list > div:nth-child(n+4) { grid-column: span 3; border-top: 1px solid var(--line-dk); }
}

section.svc, section.how, section.where, section.bio, section.area, section.contact, section.makes, section.photos { padding: clamp(3rem, 7vw, 6rem) 0; }
.ph-head { padding: clamp(2.5rem, 6vw, 5rem) 0 clamp(1.5rem, 3vw, 2.5rem); border-bottom: 1px solid var(--line); }
.ph-head .wrap { max-width: 56rem; margin-left: max(var(--gut), calc((100% - var(--wrap)) / 2)); }

.groups { display: grid; gap: 2.5rem; margin-top: 1rem; }
.group { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.group__n { font-weight: 500; color: var(--red-dk); font-size: 1rem; }
.group__body p { margin-top: .6rem; max-width: 36rem; }
.group__ph .ph img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; border-radius: 4px; }
.group__ph--panel .diag { height: 100%; min-height: 12rem; border-radius: 4px; background: var(--ink); color: #fff; padding: 1.25rem; display: flex; flex-direction: column; justify-content: space-between; border-left: 4px solid var(--cyan); }
.diag__l { color: var(--cyan); font-size: .78rem; letter-spacing: .14em; font-weight: 500; }
.diag__t { font-weight: 750; font-stretch: 70%; text-transform: uppercase; font-size: 2.2rem; line-height: .95; margin-top: 1rem; }
.group--diag .group__n { color: var(--cyan-dk); }
.group--diag .h3 { color: var(--cyan-dk); }
.svc .link-arrow { margin-top: 2.5rem; }
.svc-list { display: grid; gap: 0; margin-top: 1rem; border-top: 1px solid var(--line); max-width: 36rem; }
.svc-list li { padding: .7rem 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: minmax(0, 1.6rem) minmax(0, 1fr); gap: .5rem; }
.svc-list li::before { content: "—"; color: var(--red); font-family: var(--mono); }
.group--diag .svc-list li::before { color: var(--cyan-dk); }
@media (min-width: 48em) {
  .group { grid-template-columns: minmax(0, 3rem) minmax(0, 1.2fr) minmax(0, 1fr); gap: 1.5rem 2rem; align-items: start; }
  .group__ph .ph img { aspect-ratio: 4 / 3; }
}
@media (min-width: 64em) { .group { grid-template-columns: minmax(0, 4rem) minmax(0, 1.3fr) minmax(0, 1fr); } }

.callout { margin-top: 3rem; background: var(--yellow); color: var(--black); border-radius: 4px; padding: 1.5rem; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.callout__lamp svg { color: var(--black); }
.callout__t { font-weight: 800; font-stretch: 70%; text-transform: uppercase; font-size: 1.9rem; line-height: .95; }
.callout__t + p { margin-top: .5rem; font-size: 1.05rem; }
.callout .btn-row { margin-top: 1.1rem; }
@media (min-width: 40em) { .callout { grid-template-columns: minmax(0, 3rem) minmax(0, 1fr); padding: 2rem; } }
@media (max-width: 29.99em) { .callout .btn-row .btn { flex: 1 1 100%; } }

.how { background: var(--paper-2); }
.steps { display: grid; gap: 1.5rem; margin-top: 2rem; }
.steps li { border-top: 2px solid var(--black); padding-top: 1rem; }
.steps__n { color: var(--red-dk); font-weight: 500; margin-bottom: .6rem; }
.steps p + p, .steps .h3 + p { margin-top: .5rem; max-width: 30rem; }
@media (min-width: 40em) { .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; } }

section.reviews { padding: clamp(3rem, 7vw, 6rem) 0; }
.rv__rating { margin-top: 1rem; font-family: var(--mono); font-size: .92rem; letter-spacing: .01em; }
.rv__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.75rem; margin-top: 2rem; }
.rv__item { border-top: 2px solid var(--black); padding-top: 1rem; }
.rv__item blockquote p { font-weight: 600; font-stretch: 85%; font-size: 1.2rem; line-height: 1.35; text-wrap: pretty; }
.rv__item figcaption { margin-top: .75rem; font-family: var(--mono); font-size: .85rem; color: var(--muted); }
.reviews .link-arrow { margin-top: 2rem; }
@media (min-width: 48em) { .rv__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; align-items: start; } }

.garage { background: var(--black); color: #fff; padding: clamp(3rem, 7vw, 6rem) 0; }
.garage__in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.garage .eyebrow { color: var(--silver-2); }
.garage__ph .ph img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; border-radius: 4px; }
.quote { margin-top: 1.5rem; border-left: 3px solid var(--red); padding-left: 1.1rem; }
.quote p { font-weight: 600; font-stretch: 85%; font-size: 1.35rem; line-height: 1.3; text-wrap: pretty; }
.quote footer { margin-top: .75rem; color: var(--silver); }
.garage .link-arrow { margin-top: 1.75rem; }
@media (min-width: 48em) { .garage__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 3rem; } .garage__ph .ph img { aspect-ratio: 4 / 3; } }

.where__in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.cities { display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--line); }
.cities li { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.cities li span { font-weight: 500; text-transform: uppercase; letter-spacing: .08em; }
.cities li em { font-style: normal; color: var(--muted); }
.cities--big li { padding: 1.3rem 0; font-size: 1.05rem; }
.where .btn-row .link-arrow { margin-left: .5rem; }
@media (min-width: 48em) { .where__in { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 3rem; align-items: start; } }

.strip { background: var(--ink); color: #fff; padding: clamp(3rem, 7vw, 5.5rem) 0; border-top: 4px solid var(--red); border-image: var(--sweep) 1; }
.strip__in { display: grid; gap: 1.5rem; }
.strip .eyebrow { color: var(--silver-2); }
.strip__p { margin-top: 1rem; color: var(--silver); max-width: 34rem; }
.strip__facts p { display: flex; gap: .6rem; align-items: center; color: var(--silver); margin-top: .25rem; min-height: 2.75rem; }
.strip__facts a { display: inline-block; padding: .75rem 0; }
.strip__facts svg { flex: none; color: var(--silver-2); }
.strip .btn-row { margin-top: .5rem; }
@media (min-width: 48em) { .strip__in { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: end; } .strip .btn-row { grid-column: 1 / -1; } }

.ftr { background: var(--black); color: var(--silver); padding: 3rem 0 2rem; }
.ftr__in { display: grid; gap: 2rem; }
.ftr .brand { --bw: 240px; }
@media (min-width: 48em) { .ftr .brand { --bw: 216px; } }
@media (min-width: 64em) { .ftr .brand { --bw: 280px; } }
.ftr__tag { margin-top: .8rem; color: var(--silver-2); text-transform: uppercase; letter-spacing: .12em; font-size: .74rem; }
.ftr__facts { display: grid; gap: 1rem; font-size: .85rem; }
.ftr__facts dt { color: var(--silver-2); text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; margin-bottom: .25rem; }
.ftr__facts dd a { color: #fff; }
.ftr__facts a, .ftr__nav a { display: inline-block; min-height: 2.75rem; padding: .4rem 0; }
.ftr__nav ul { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; }
.ftr__nav a { min-width: 2.75rem; text-align: center; text-decoration: none; text-transform: uppercase; letter-spacing: .08em; font-size: .85rem; font-weight: 600; font-stretch: 90%; color: #fff; }
.ftr__legal { color: var(--silver-2); font-size: .8rem; border-top: 1px solid var(--line-dk); padding-top: 1.25rem; }
@media (min-width: 48em) { .ftr__in { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); } .ftr__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ftr__nav, .ftr__legal { grid-column: 1 / -1; } .ftr__email { grid-column: 1 / -1; } }
@media (min-width: 64em) { .ftr__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.makes { background: var(--paper-2); }
.makes__list { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.25rem; }
.makes__list li { padding: .5rem .8rem; border: 1px solid var(--text); border-radius: 999px; font-family: var(--mono); font-size: .9rem; }
.photos__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin-top: 2rem; }
.photos__grid figure img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; border-radius: 4px; }
.photos__grid figcaption { margin-top: .6rem; font-family: var(--mono); font-size: .85rem; color: var(--muted); }
@media (min-width: 40em) { .photos__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.bio__in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.bio__ph .ph img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; border-radius: 4px; }
.bio .quote { border-left-color: var(--red); }
.bio .quote p { font-size: 1.5rem; }
.bio .quote footer { color: var(--muted); }
.finds { margin-top: 2rem; border-top: 1px solid var(--line); max-width: 36rem; }
.finds li { padding: .8rem 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: minmax(0, 1.6rem) minmax(0, 1fr); gap: .5rem; }
.finds li::before { content: "—"; color: var(--red); font-family: var(--mono); }
@media (min-width: 48em) { .bio__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 3rem; align-items: start; } }

.area__in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.card { border: 1px solid var(--line); border-radius: 4px; padding: 1.5rem; background: #fff; }
.card .h3 { margin-bottom: .75rem; }
.card p + p { margin-top: .5rem; }
.card .btn-row { margin-top: 1.25rem; }
@media (min-width: 48em) { .area__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3rem; align-items: start; } }

.bignum { margin-top: 1.5rem; }
.bignum a { font-weight: 800; font-stretch: 68%; font-size: clamp(2.6rem, 2rem + 5vw, 5.5rem); line-height: 1; text-decoration: none; color: var(--red); letter-spacing: -.01em; display: inline-block; border-bottom: 4px solid var(--red); }
.contact__in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.facts { display: grid; gap: 0; border-top: 1px solid var(--line); }
.facts > div { position: relative; padding: 1.1rem 0 1.1rem 2.75rem; border-bottom: 1px solid var(--line); }
.facts dt svg { position: absolute; left: 0; top: .95rem; color: var(--red); }
.facts dt { font-family: var(--mono); font-size: .74rem; text-transform: uppercase; letter-spacing: .14em; color: var(--muted); font-weight: 500; }
.facts dd { margin-top: .3rem; }
.facts dd p + p { margin-top: .4rem; }
.facts a { display: inline-block; padding: .7rem 0; }
.contact .gauge { position: static; width: 10rem; margin-top: 2rem; opacity: 1; }
.contact .g-num { fill: var(--silver-3); } .contact .g-major { stroke: var(--silver-3); } .contact .g-minor { stroke: var(--silver-2); } .contact .g-hub { fill: var(--paper); }
@media (min-width: 48em) { .contact__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3rem; align-items: start; } }

.nf { padding: clamp(3rem, 8vw, 7rem) 0; min-height: 50vh; }
.nf .lede a { display: inline-block; padding: .7rem 0; }

@media print { .hdr, .pbar, .skip { display: none; } body { padding: 0; background: #fff; } }
