:root {
  color-scheme: dark;
  --ink: #101820;
  --ink-2: #17242e;
  --paper: #f6f1e5;
  --muted: #b9c1bd;
  --line: #42515a;
  --orange: #ff8a3d;
  --yellow: #ffd166;
  --red: #d64a28;
  --blue: #76b7c8;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--ink);
  color: var(--paper);
}

* { box-sizing: border-box; }
.ui-icon { display: inline-block; flex: 0 0 auto; width: 1em; height: 1em; overflow: visible; color: inherit; vertical-align: -.125em; }
.ui-icon-sm { width: 14px; height: 14px; }
.ui-icon-md { width: 20px; height: 20px; }
.ui-icon-lg { width: 24px; height: 24px; }
.ui-icon-tile { width: 28px; height: 28px; }
.external-link-icon { margin-left: .18em; vertical-align: -.15em; }
html { scroll-behavior: smooth; }
body { margin: 0; background: radial-gradient(circle at 80% 2%, #7e321e 0, transparent 25rem), var(--ink); }
a { color: inherit; }
button:has(> .ui-icon), a:has(> .ui-icon) { align-items: center; gap: 7px; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; border-radius: 8px; background: var(--yellow); color: var(--ink); padding: 10px 14px; font-weight: 900; text-decoration: none; }
.skip-link:focus { top: 12px; }
.site-header { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 68px; padding: 10px max(20px, calc((100vw - 1180px) / 2)); background: #101820f2; background: color-mix(in srgb, var(--ink) 88%, transparent); border-bottom: 1px solid #ffffff20; backdrop-filter: blur(14px); }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 900; text-decoration: none; letter-spacing: -.02em; }
.brand-mark { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; overflow: hidden; border: 1px solid #ff8a3d9c; border-radius: 12px; background: #ff8a3d14; }
.brand-mark img { display: block; width: 36px; height: 36px; }
.brand-name { white-space: nowrap; }
#site-nav { display: flex; align-items: center; gap: 3px; }
#site-nav a { display: inline-flex; align-items: center; gap: 6px; min-height: 42px; border-radius: 9px; color: #dbe1dc; padding: 6px 7px; font-size: .78rem; font-weight: 760; text-decoration: none; white-space: nowrap; }
#site-nav a:hover, #site-nav a:focus-visible { color: var(--orange); }
#site-nav a[aria-current="page"] { background: #ff8a3d15; color: var(--orange); }
.nav-link-icon { width: 16px; height: 16px; }
.nav-toggle { display: none; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--paper); padding: 8px 13px; font: 800 .82rem/1 inherit; }
.nav-toggle .ui-icon { width: 18px; height: 18px; }
.nav-toggle-close { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle-menu { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle-close { display: inline-block; }
main { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: 54px 0 86px; }
article { max-width: 920px; }
article.wide-page { max-width: none; }
.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 48px; color: var(--muted); font-size: .83rem; }
.breadcrumbs a { display: inline-flex; align-items: center; gap: 6px; text-underline-offset: 3px; }
.breadcrumb-separator { display: inline-flex; color: #6f7e85; }
.page-hero { padding-bottom: 64px; }
.page-hero-label { display: flex; align-items: center; gap: 10px; }
.page-hero-label .eyebrow { margin: 0; }
.page-hero-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #ff8a3d66; border-radius: 12px; background: #ff8a3d10; color: var(--orange); }
.eyebrow, .kicker { color: var(--orange); font-size: .75rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
h1 { max-width: 950px; margin: 10px 0 26px; font-size: clamp(3.2rem, 8vw, 7.4rem); line-height: .91; letter-spacing: -.065em; }
h2 { margin: 8px 0 18px; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.04; letter-spacing: -.035em; }
h3 { margin: 30px 0 10px; font-size: 1.25rem; }
.intro { max-width: 760px; color: #d4dbd6; font-size: clamp(1.1rem, 2vw, 1.35rem); line-height: 1.6; }
.status-line { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.status-line span, .tag { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #ffffff2c; border-radius: 99px; color: #dbe1dc; padding: 7px 11px; font-size: .76rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
section { scroll-margin-top: 88px; border-top: 1px solid var(--line); padding: 54px 0; }
p, li { color: #ced6d1; font-size: 1rem; line-height: 1.75; }
strong { color: var(--paper); }
ul, ol { padding-left: 1.25rem; }
li { margin: 10px 0; }
.lead { color: var(--paper); font-size: 1.22rem; line-height: 1.65; }
.formula { overflow-x: auto; margin: 24px 0; border: 1px solid #ffffff22; border-radius: 14px; background: var(--ink-2); padding: 20px; color: var(--yellow); font: 700 1rem ui-monospace, SFMono-Regular, Consolas, monospace; }
.note, .warning { margin: 26px 0; border-left: 4px solid var(--orange); background: #ffffff08; padding: 18px 20px; color: #dce2de; line-height: 1.65; }
.warning { border-left-color: var(--yellow); }
.grid, .card-grid, .related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.card-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card { border: 1px solid #ffffff20; border-radius: 18px; background: linear-gradient(145deg, #1a2933, #121d25); padding: 24px; }
.card h3 { margin-top: 5px; }
.card p { margin-bottom: 0; }
.card a { color: var(--orange); font-weight: 800; text-underline-offset: 3px; }
.hof-roster { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 20px; margin: 28px 0 8px; }
.hof-class { border-top: 2px solid var(--orange); padding-top: 12px; }
.hof-class-year { margin: 0 0 10px; font-size: 1.35rem; font-weight: 900; letter-spacing: 0.02em; }
.hof-class-members { list-style: none; margin: 0; padding: 0; }
.hof-class-members li { margin: 0; padding: 5px 0; border-bottom: 1px solid var(--line); }
.hof-class-members li:last-child { border-bottom: 0; }
.hof-class-members a { font-weight: 600; text-underline-offset: 3px; }
@media (max-width: 640px) { .hof-roster { grid-template-columns: repeat(auto-fill, minmax(min(100%, 160px), 1fr)); gap: 16px; } }

.step-list { list-style: none; counter-reset: steps; padding: 0; }
.step-list li { position: relative; margin: 0; border-top: 1px solid var(--line); padding: 24px 0 24px 58px; }
.step-list li::before { counter-increment: steps; content: counter(steps, decimal-leading-zero); position: absolute; left: 0; top: 26px; color: var(--orange); font-weight: 900; }
.table-wrap { max-width: 100%; margin: 24px 0; overflow-x: auto; border-radius: 12px; }
.table-wrap:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.snapshot { width: 100%; min-width: 620px; border-collapse: collapse; margin: 0; }
.snapshot caption { caption-side: top; padding: 0 12px 14px; color: var(--muted); font-size: .78rem; font-weight: 700; line-height: 1.5; text-align: left; }
.snapshot th, .snapshot td { border-bottom: 1px solid var(--line); padding: 14px 12px; text-align: left; vertical-align: top; }
.snapshot th { color: var(--orange); font-size: .76rem; letter-spacing: .07em; text-transform: uppercase; }
.snapshot td { color: #d4dbd6; line-height: 1.5; }
.rule-check-date { display: inline-block; margin: 5px 0 18px; border: 1px solid #ffd16670; border-radius: 999px; background: #ffd16610; color: #e5e9e6; padding: 8px 13px; font-size: .78rem; line-height: 1.4; }
.route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.route-grid a { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 13px; min-height: 150px; border: 1px solid #ffffff22; border-radius: 16px; background: #ffffff08; padding: 20px; text-decoration: none; transition: transform .18s ease, border-color .18s ease; }
.route-grid a:hover, .route-grid a:focus-visible { transform: translateY(-3px); border-color: var(--orange); }
.route-card-icon, .related-card-icon { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid #ff8a3d55; border-radius: 13px; background: #ff8a3d0d; color: var(--orange); }
.route-card-content { min-width: 0; }
.route-card-content > span, .related-card-kicker { display: block; color: var(--orange); font-size: .68rem; font-weight: 900; letter-spacing: .12em; line-height: 1.35; text-transform: uppercase; }
.route-card-arrow, .related-card-arrow { align-self: center; color: #839099; transition: color .18s ease, transform .18s ease; }
.route-grid a:hover .route-card-arrow, .route-grid a:focus-visible .route-card-arrow, .related-card:hover .related-card-arrow, .related-card:focus-visible .related-card-arrow { color: var(--orange); transform: translateX(3px); }
.route-grid strong { display: block; margin-top: 10px; font-size: 1.24rem; line-height: 1.1; }
.sources ol { list-style: none; padding: 0; }
.sources li { display: grid; grid-template-columns: minmax(220px, 1fr) 1.5fr; gap: 24px; border-top: 1px solid var(--line); margin: 0; padding: 18px 0; }
.sources li a { color: var(--paper); font-weight: 800; text-underline-offset: 3px; }
.sources li span { color: var(--muted); }
.related { margin-top: 30px; border: 1px solid #ffffff22; border-radius: 20px; padding: 28px; }
.related-grid a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 13px; border-left: 3px solid var(--orange); background: #ffffff08; padding: 18px; text-decoration: none; }
.related-card-copy { min-width: 0; }
.related-grid strong { display: block; margin-top: 7px; }

.partner-catalog { max-width: none; }
.catalog-heading { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(240px, .8fr); align-items: end; gap: 28px; margin-bottom: 26px; }
.catalog-heading h2 { margin-bottom: 12px; }
.catalog-heading > div > p { max-width: 700px; margin: 0; }
.catalog-status { display: flex; align-items: flex-start; gap: 8px; margin: 0; border-left: 3px solid var(--orange); background: #ffffff08; padding: 14px 16px; color: #e2e8e4; font-size: .86rem; line-height: 1.55; }
.catalog-status .ui-icon { margin-top: .2em; }
.catalog-controls { display: grid; grid-template-columns: minmax(220px, 1.7fr) repeat(3, minmax(145px, 1fr)); gap: 14px; margin: 0 0 28px; border: 1px solid #ffffff20; border-radius: 18px; background: #101820b8; padding: 18px; }
.catalog-controls label { display: grid; align-content: start; gap: 7px; min-width: 0; color: var(--paper); font-size: .75rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.catalog-controls input,
.catalog-controls select,
.catalog-actions button { min-height: 46px; width: 100%; border: 1px solid #64737c; border-radius: 10px; background: #182731; color: var(--paper); padding: 10px 12px; font-family: inherit; font-size: .92rem; font-weight: 700; line-height: 1.2; letter-spacing: 0; text-transform: none; }
.catalog-controls input::placeholder { color: #aeb8b3; opacity: 1; }
.catalog-controls select { cursor: pointer; }
.catalog-controls input:hover,
.catalog-controls select:hover { border-color: #91a0a8; }
.catalog-controls input:focus-visible,
.catalog-controls select:focus-visible,
.catalog-actions button:focus-visible,
.product-card a:focus-visible,
.catalog-fallback a:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.catalog-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; }
.catalog-actions button { width: auto; min-width: 142px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border-color: #ffffff38; background: transparent; color: var(--orange); cursor: pointer; }
.catalog-actions button:hover { border-color: var(--orange); background: #ff8a3d12; }

.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 18px; }
.product-card { max-width: none; overflow: hidden; display: grid; grid-template-rows: auto 1fr; margin: 0; border: 1px solid #ffffff24; border-radius: 18px; background: linear-gradient(145deg, #1a2933, #111c24); box-shadow: 0 12px 30px #00000020; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.product-card:hover { border-color: #ff8a3d8a; transform: translateY(-3px); box-shadow: 0 16px 36px #00000034; }
.product-card[data-available="false"] { border-color: #ffffff17; background: linear-gradient(145deg, #18242c, #11191f); }
.product-media { position: relative; display: grid; place-items: center; overflow: hidden; aspect-ratio: 4 / 3; background: radial-gradient(circle at 50% 38%, #ffffff 0, #e8ece9 75%); text-decoration: none; }
.product-sale-flag { position: absolute; top: 12px; right: 12px; border-radius: 999px; background: #a92f20; color: #fff; padding: 6px 9px; font-size: .66rem; font-weight: 900; letter-spacing: .08em; line-height: 1; text-transform: uppercase; box-shadow: 0 4px 14px #0004; }
.product-media img { display: block; width: 100%; height: 100%; padding: 14px; object-fit: contain; transition: transform .2s ease; }
.product-card:hover .product-media img { transform: scale(1.025); }
.product-card[data-available="false"] .product-media img { filter: grayscale(.7); opacity: .7; }
.product-image-missing { display: grid; place-items: center; width: 100%; height: 100%; color: #33424a; padding: 20px; font-size: .8rem; font-weight: 900; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.product-card-body { display: flex; flex-direction: column; min-width: 0; padding: 18px; }
.product-card-meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-height: 28px; }
.product-card-meta > span:first-child { color: var(--orange); font-size: .66rem; font-weight: 900; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
.availability { flex: 0 0 auto; border: 1px solid currentColor; border-radius: 999px; padding: 4px 7px; font-size: .62rem; font-weight: 900; letter-spacing: .06em; line-height: 1.1; text-transform: uppercase; }
.availability.in-stock { color: #9bd6ad; background: #3e9c5b18; }
.availability.sold-out { color: #e9b29f; background: #d64a2818; }
.product-card h3 { margin: 13px 0 8px; font-size: 1.08rem; line-height: 1.25; }
.product-card h3 a { color: var(--paper); text-decoration-color: transparent; text-underline-offset: 3px; }
.product-card h3 a:hover { color: var(--orange); text-decoration-color: currentColor; }
.product-price { margin: 0; color: var(--yellow); font-size: 1.17rem; font-weight: 900; line-height: 1.35; }
.product-price del { margin-right: 5px; color: #b6c0ba; font-size: .86rem; font-weight: 700; }
.product-options { margin: 5px 0 18px; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.product-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; margin-top: auto; border: 1px solid #ff8a3d80; border-radius: 10px; background: #ff8a3d10; color: var(--orange); padding: 10px 12px; font-size: .84rem; font-weight: 900; line-height: 1.2; text-decoration: none; }
.product-cta:hover { border-color: var(--orange); background: var(--orange); color: var(--ink); }
.product-card[data-available="false"] .product-cta { border-color: #ffffff32; background: #ffffff08; color: #d6ddd8; }
.product-card[data-available="false"] .product-cta:hover { border-color: #d6ddd8; background: #d6ddd8; color: var(--ink); }
.catalog-empty { margin: 20px 0 0; border: 1px dashed #ffffff38; border-radius: 14px; background: #ffffff08; padding: 24px; color: var(--paper); text-align: center; }
.catalog-fallback { margin: 26px 0 0; color: var(--muted); font-size: .88rem; }
.catalog-fallback a { color: var(--orange); font-weight: 800; text-underline-offset: 3px; }
[hidden] { display: none !important; }

.partner-placement { margin: 50px 0 12px; }
.partner-ad { --ad-accent: var(--orange); display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 15px; overflow: hidden; margin: 0; border: 1px solid #ffffff1f; border-left: 3px solid color-mix(in srgb, var(--ad-accent) 58%, #ffffff1f); border-radius: 14px; background: #ffffff07; padding: 12px 14px 12px 12px; }
.partner-ad-media { display: grid; place-items: center; width: 64px; height: 64px; overflow: hidden; border: 1px solid #ffffff18; border-radius: 10px; background: #e8ece9; }
.partner-ad-media img { width: 100%; height: 100%; padding: 6px; object-fit: contain; }
.partner-ad-mark { display: grid; place-items: center; align-content: center; width: 64px; height: 64px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--ad-accent) 38%, transparent); border-radius: 10px; background: color-mix(in srgb, var(--ad-accent) 7%, #111c24); padding: 10px; text-align: center; }
.partner-ad-mark strong { display: grid; place-items: center; color: var(--ad-accent); line-height: 1; }
.partner-brand-icon { width: 28px; height: 28px; }
.partner-ad-mark span { display: none; }
.partner-ad-copy { min-width: 0; }
.partner-ad-copy .kicker { margin: 0 0 3px; color: color-mix(in srgb, var(--ad-accent) 76%, #d7dfda); font-size: .6rem; letter-spacing: .11em; }
.partner-ad-copy h3 { margin: 0 0 3px; font-size: 1rem; line-height: 1.2; letter-spacing: -.01em; }
.partner-ad-copy > p:not(.kicker) { margin: 0; color: #bec8c2; font-size: .76rem; line-height: 1.43; }
.partner-ad-copy .partner-ad-disclosure { margin-top: 2px; color: #8f9c96; font-size: .62rem; line-height: 1.35; }
.partner-ad-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 36px; border: 1px solid color-mix(in srgb, var(--ad-accent) 46%, #ffffff1f); border-radius: 999px; background: transparent; color: color-mix(in srgb, var(--ad-accent) 82%, white); padding: 7px 10px; font-size: .7rem; font-weight: 850; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.partner-ad-cta:hover { border-color: var(--ad-accent); background: var(--ad-accent); color: var(--ink); }
.partner-ad-cta:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.partner-ad-cta-muted { border-color: #ffffff42; background: transparent; color: var(--paper); }
.partner-ad-cta-muted:hover { color: var(--ink); }

.partner-ad[data-network-brand="onramp-it"],
.partner-card[data-network-brand="onramp-it"] { --ad-accent: #75b8ff; }
.partner-ad[data-network-brand="ohio-pc-rescue"],
.partner-card[data-network-brand="ohio-pc-rescue"] { --ad-accent: #61d68b; }
.partner-ad[data-network-brand="sugar-rebel"],
.partner-card[data-network-brand="sugar-rebel"] { --ad-accent: #ff78b8; }
.partner-ad[data-network-brand="soul-searcher"],
.partner-card[data-network-brand="soul-searcher"] { --ad-accent: #c1a0ff; }
.partner-ad[data-network-brand="model-foundry"],
.partner-card[data-network-brand="model-foundry"] { --ad-accent: #ffd166; }
.partner-ad[data-network-brand="lake-effect-rigs"],
.partner-card[data-network-brand="lake-effect-rigs"] { --ad-accent: #58e5f2; }
.partner-ad[data-network-brand="gallimore-enterprises"],
.partner-card[data-network-brand="gallimore-enterprises"] { --ad-accent: #ff9c5a; }
.partner-ad[data-network-brand="ironclad-software"],
.partner-card[data-network-brand="ironclad-software"] { --ad-accent: #d4dde2; }
.partner-ad[data-network-brand="equinatlas"],
.partner-card[data-network-brand="equinatlas"] { --ad-accent: #e9bd72; }
.partner-ad[data-network-brand="gallimore-construction"],
.partner-card[data-network-brand="gallimore-construction"] { --ad-accent: #f3cf64; }
.partner-ad[data-network-brand="zero-error"],
.partner-card[data-network-brand="zero-error"] { --ad-accent: #ff8a3d; }
.partner-ad[data-network-brand="isbd"],
.partner-card[data-network-brand="isbd"] { --ad-accent: #ff7a70; }
.partner-ad[data-network-brand="isbd-store"],
.partner-card[data-network-brand="isbd-store"] { --ad-accent: #f3cf64; }

.partner-directory { max-width: none; }
.partner-directory-header { max-width: 820px; margin-bottom: 30px; }
.partner-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.partner-card { --ad-accent: var(--orange); display: flex; flex-direction: column; min-width: 0; min-height: 330px; border: 1px solid color-mix(in srgb, var(--ad-accent) 34%, #ffffff20); border-radius: 18px; background: linear-gradient(145deg, color-mix(in srgb, var(--ad-accent) 9%, #1a2933), #111c24); padding: 22px; }
.partner-card-mark { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 22px; border: 1px solid color-mix(in srgb, var(--ad-accent) 55%, transparent); border-radius: 15px; background: color-mix(in srgb, var(--ad-accent) 13%, #101820); color: var(--ad-accent); }
.partner-card-mark strong { display: grid; place-items: center; }
.partner-card-mark .partner-brand-icon { width: 28px; height: 28px; }
.partner-card-mark span { display: none; }
.partner-card .kicker { margin: 0 0 8px; color: var(--ad-accent); line-height: 1.4; }
.partner-card h3 { margin: 0 0 13px; font-size: 1.35rem; line-height: 1.12; }
.partner-card p { margin: 0 0 10px; font-size: .9rem; line-height: 1.55; }
.partner-card-cta, .partner-card-status { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; margin-top: auto; border: 1px solid color-mix(in srgb, var(--ad-accent) 68%, transparent); border-radius: 999px; color: var(--ad-accent); padding: 10px 13px; font-size: .78rem; font-weight: 900; line-height: 1.25; text-decoration: none; }
.partner-card-cta:hover { background: var(--ad-accent); color: var(--ink); }
.partner-card-cta:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.partner-card-status { border-style: dashed; color: var(--muted); }

.record-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
.record-stat-grid > div { min-height: 126px; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid #ffffff20; border-radius: 16px; background: #ffffff08; padding: 18px; }
.record-stat-grid strong { color: var(--yellow); font-size: clamp(2rem, 5vw, 3.7rem); line-height: .9; letter-spacing: -.05em; }
.record-stat-grid span { margin-top: 10px; color: var(--muted); font-size: .78rem; font-weight: 800; line-height: 1.35; text-transform: uppercase; }
.record-browser { max-width: none; }
.record-controls { display: grid; grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(145px, 1fr)) auto; align-items: end; gap: 12px; margin: 24px 0 14px; border: 1px solid #ffffff20; border-radius: 18px; background: #101820c9; padding: 18px; }
.record-controls label { display: grid; gap: 7px; min-width: 0; color: var(--paper); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.record-controls input, .record-controls select, .record-controls button { min-height: 46px; width: 100%; border: 1px solid #64737c; border-radius: 10px; background: #182731; color: var(--paper); padding: 10px 12px; font-family: inherit; font-size: .9rem; font-weight: 700; line-height: 1.2; letter-spacing: 0; text-transform: none; }
.record-controls input::placeholder { color: #aeb8b3; opacity: 1; }
.record-controls select, .record-controls button { cursor: pointer; }
.record-controls button { width: auto; min-width: 120px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border-color: #ff8a3d70; background: #ff8a3d0d; color: var(--orange); }
.record-controls input:focus-visible, .record-controls select:focus-visible, .record-controls button:focus-visible, .city-card a:focus-visible, .primary-cta:focus-visible, .text-cta:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.browser-status { display: flex; align-items: flex-start; gap: 7px; margin: 0 0 22px; color: var(--muted); font-size: .86rem; }
.browser-status .ui-icon { margin-top: .18em; }
.city-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.city-card { max-width: none; min-width: 0; margin: 0; border: 1px solid #ffffff20; border-radius: 17px; background: linear-gradient(145deg, #1a2933, #121d25); padding: 20px; }
.city-card:hover { border-color: #ff8a3d73; }
.city-card-meta { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .65rem; font-weight: 900; letter-spacing: .06em; line-height: 1.35; text-transform: uppercase; }
.city-card-meta span:last-child { text-align: right; }
.city-card h3 { margin: 18px 0 8px; line-height: 1.1; }
.city-card h3 a { text-decoration-color: #ff8a3d5c; text-underline-offset: 4px; }
.city-card p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.city-card p a { color: var(--orange); font-weight: 800; }
.city-profile { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px; }
.city-profile > div { border: 1px solid #ffffff20; border-radius: 14px; background: #ffffff08; padding: 17px; }
.city-profile strong, .profile-label { display: block; }
.profile-label { margin-bottom: 6px; color: var(--muted); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.city-profile strong { font-size: 1.05rem; line-height: 1.35; }
.primary-cta, .text-cta { display: inline-flex; min-height: 46px; align-items: center; border-radius: 999px; background: var(--orange); color: var(--ink); padding: 10px 16px; font-size: .84rem; font-weight: 900; text-decoration: none; }
.primary-cta:hover { background: var(--yellow); }
.text-cta { border-radius: 0; background: transparent; color: var(--orange); padding: 4px 0; text-decoration: underline; text-underline-offset: 4px; }
.record-caption { color: var(--muted); font-size: .78rem; line-height: 1.55; }
.champion-table td:nth-child(4) { min-width: 190px; }
.champion-table a, .snapshot a { color: var(--orange); font-weight: 800; text-underline-offset: 3px; }
.snapshot small { display: block; margin-top: 3px; color: var(--muted); font-size: .7rem; }
.standings-preview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.standings-preview .card { padding: 20px; }
.standings-preview .card h3 { margin: 6px 0 14px; }
.mini-standing { display: flex; justify-content: space-between; gap: 12px; margin: 6px 0; border-top: 1px solid #ffffff14; padding-top: 7px; font-size: .82rem; line-height: 1.35; }
.standings-table-group { padding: 32px 0; }
.standings-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.standings-heading h3 { margin: 5px 0 0; font-size: 1.7rem; }
.standings-heading p { margin: 0; }
.standings-heading a { color: var(--orange); font-size: .8rem; font-weight: 900; text-underline-offset: 3px; white-space: nowrap; }
.standings-season-empty { padding: 8px 0; }

.track-atlas { max-width: none; }
.track-controls { grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(145px, 1fr)) auto; }
.track-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 18px; }
.track-card { max-width: none; min-width: 0; overflow: hidden; display: flex; flex-direction: column; margin: 0; border: 1px solid #ffffff24; border-radius: 19px; background: linear-gradient(145deg, #1a2933, #111c24); box-shadow: 0 13px 30px #00000026; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.track-card:hover { border-color: #ff8a3d8f; transform: translateY(-3px); box-shadow: 0 17px 38px #00000038; }
.track-photo { overflow: hidden; display: flex; flex-direction: column; margin: 0; border-bottom: 1px solid #ffffff20; background: #0d151b; }
.track-photo img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: contain; background: #17242e; }
.track-photo figcaption { min-height: 65px; display: flex; flex-direction: column; justify-content: center; gap: 3px; padding: 11px 14px; background: #111c24; }
.track-photo figcaption > span { color: var(--paper); font-size: .75rem; font-weight: 900; line-height: 1.35; }
.track-photo figcaption a { color: var(--orange); font-size: .68rem; font-weight: 800; line-height: 1.4; text-underline-offset: 3px; }
.track-photo-pending { min-height: 272px; align-items: center; justify-content: center; gap: 9px; background: radial-gradient(circle at 50% 22%, #2b4856, transparent 45%), repeating-linear-gradient(-45deg, #14242d, #14242d 14px, #172a34 14px, #172a34 28px); padding: 28px; text-align: center; }
.track-photo-venue { background: radial-gradient(circle at 50% 22%, #355842, transparent 46%), repeating-linear-gradient(-45deg, #14261d, #14261d 14px, #182c22 14px, #182c22 28px); }
.track-photo-venue .track-photo-mark { border-color: #a9dfb9a3; color: #a9dfb9; }
.track-photo-venue small { color: #c9d9ce; font-weight: 750; }
.track-photo-mark { display: grid; place-items: center; width: 74px; height: 74px; border: 2px solid #ff8a3d80; border-radius: 50%; background: #101820cc; color: var(--orange); font-size: 1.4rem; font-weight: 950; letter-spacing: -.03em; }
.track-photo-region { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #ffffff2c; border-radius: 999px; background: #101820a6; color: #dce5e0; padding: 6px 10px; font-size: .68rem; font-weight: 900; letter-spacing: .05em; line-height: 1.2; text-transform: uppercase; }
.track-photo-pending strong { font-size: 1rem; line-height: 1.25; }
.track-photo-pending small { max-width: 250px; color: var(--muted); font-size: .74rem; line-height: 1.5; }
.track-card-body { flex: 1; display: flex; flex-direction: column; min-width: 0; padding: 18px; }
.track-card-meta { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .65rem; font-weight: 900; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
.track-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin: 14px 0 9px; }
.track-card-heading h3 { min-width: 0; margin: 0; font-size: 1.14rem; line-height: 1.18; }
.track-card-heading h3 a { color: var(--paper); text-decoration-color: #ff8a3d66; text-underline-offset: 4px; }
.track-card-heading h3 a:hover { color: var(--orange); }
.track-type-badge { flex: 0 0 auto; border: 1px solid currentColor; border-radius: 999px; padding: 5px 7px; font-size: .58rem; font-weight: 900; letter-spacing: .05em; line-height: 1.1; text-align: center; text-transform: uppercase; }
.track-type-permanent { color: #a9dfb9; background: #3e9c5b18; }
.track-type-street { color: #9bdce9; background: #76b7c814; }
.track-type-unknown, .track-type-venue-unverified { color: #d6ddd8; background: #ffffff08; }
.track-venue { margin: 0 0 17px; color: var(--muted); font-size: .79rem; line-height: 1.55; }
.track-venue strong { color: #dfe5e1; }
.track-card-links { display: flex; flex-wrap: wrap; gap: 9px 15px; margin-top: auto; border-top: 1px solid #ffffff17; padding-top: 14px; }
.track-card-links a { color: var(--orange); font-size: .74rem; font-weight: 900; line-height: 1.4; text-underline-offset: 3px; }
.track-card a:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.track-key-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.tracker-command-center { position: relative; max-width: none; border-top: 0; padding-top: 0; }
article.wide-page:has(.tracker-command-center) { display: flex; flex-direction: column; }
article.wide-page:has(.tracker-command-center) > * { order: 4; }
article.wide-page:has(.tracker-command-center) > .page-hero { order: 1; padding-bottom: 42px; }
article.wide-page:has(.tracker-command-center) > .page-hero h1 { font-size: clamp(3.2rem, 7vw, 6.4rem); }
article.wide-page:has(.tracker-command-center) > .tracker-command-center { order: 2; }
article.wide-page:has(.tracker-command-center) > .partner-placement { order: 5; }
article.wide-page:has(.tracker-command-center) > .sources { order: 6; }
article.wide-page:has(.tracker-command-center) > .related { order: 7; }
.tracker-command-center::before { content: ""; position: absolute; inset: -20px -20px auto; height: 360px; z-index: -1; border-radius: 32px; background: radial-gradient(circle at 12% 0%, #ff8a3d24, transparent 35%), radial-gradient(circle at 88% 6%, #76b7c81c, transparent 34%); pointer-events: none; }
.tracker-command-header { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(260px, .55fr); align-items: end; gap: clamp(24px, 4vw, 54px); margin-bottom: 16px; }
.tracker-command-header h2 { max-width: 760px; margin-bottom: 15px; font-size: clamp(2rem, 5vw, 3.65rem); }
.tracker-command-header > div:first-child > p:last-child { max-width: 770px; margin: 0; color: #c4cec9; font-size: .96rem; line-height: 1.68; }
.tracker-health { --health-color: #79dd97; display: grid; gap: 8px; min-height: 154px; align-content: end; border: 1px solid color-mix(in srgb, var(--health-color) 42%, transparent); border-radius: 19px; background: linear-gradient(150deg, color-mix(in srgb, var(--health-color) 12%, #17242d), #111b22); padding: 19px; box-shadow: 0 16px 34px #00000020; }
.tracker-health-degraded { --health-color: var(--yellow); }
.tracker-health-stale { --health-color: #ff867d; }
.tracker-health-status { display: flex; align-items: center; gap: 8px; color: var(--health-color); font-size: .67rem; font-weight: 950; letter-spacing: .09em; line-height: 1.2; text-transform: uppercase; }
.tracker-health-status i { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: var(--health-color); box-shadow: 0 0 0 4px color-mix(in srgb, var(--health-color) 16%, transparent); }
.tracker-health > strong { font-size: 1rem; line-height: 1.3; }
.tracker-health > small { color: #b9c5bf; font-size: .7rem; line-height: 1.45; }
.tracker-health > .tracker-health-age { margin-top: 2px; border-top: 1px solid color-mix(in srgb, var(--health-color) 28%, transparent); padding-top: 8px; color: color-mix(in srgb, var(--health-color) 72%, #f4f1e8); font-weight: 750; }
.tracker-review-state { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin: 20px 0 14px; border: 1px solid #76b7c84d; border-radius: 17px; background: linear-gradient(90deg, #76b7c812, #ffffff05); padding: 15px 17px; }
.tracker-review-state > div { min-width: 0; display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: baseline; gap: 5px 12px; }
.tracker-review-state span { grid-column: 1 / -1; color: #9bdce9; font-size: .61rem; font-weight: 950; letter-spacing: .11em; line-height: 1.3; }
.tracker-review-state strong { color: var(--paper); font-size: 1.55rem; line-height: 1; }
.tracker-review-state small { color: #c1cbc6; font-size: .75rem; line-height: 1.45; }
.tracker-review-state button { flex: 0 0 auto; min-height: 43px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid #76b7c88a; border-radius: 999px; background: #76b7c817; color: #dff7fb; padding: 9px 14px; font: 850 .73rem/1.2 inherit; cursor: pointer; }
.tracker-review-state button:hover { border-color: #b7f1ff; background: #76b7c826; }
.tracker-review-state button:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.tracker-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.tracker-kpi-grid > div { min-width: 0; min-height: 124px; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid #ffffff20; border-radius: 16px; background: linear-gradient(155deg, #ffffff0c, #ffffff05); padding: 15px; }
.tracker-kpi-grid span { color: #b8c3bd; font-size: .61rem; font-weight: 900; letter-spacing: .08em; line-height: 1.25; text-transform: uppercase; }
.tracker-kpi-grid strong { margin-top: auto; color: var(--yellow); font-size: clamp(1.8rem, 4vw, 2.8rem); letter-spacing: -.04em; line-height: .95; }
.tracker-kpi-grid small { margin-top: 7px; color: #aeb9b3; font-size: .66rem; line-height: 1.3; }
.tracker-brief-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 14px; }
.tracker-executive-brief, .tracker-watch-panel { max-width: none; overflow: hidden; margin: 0; border: 1px solid #ffffff25; border-radius: 21px; background: linear-gradient(150deg, #1b2b35, #10191f 75%); box-shadow: 0 18px 42px #00000024; }
.tracker-executive-brief > header, .tracker-watch-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; border-bottom: 1px solid #ffffff1b; padding: 19px 20px; }
.tracker-executive-brief > header h3, .tracker-watch-panel > header h3 { margin: 3px 0 0; font-size: 1.24rem; line-height: 1.25; }
.tracker-panel-overline { margin: 0; color: var(--orange); font-size: .61rem; font-weight: 950; letter-spacing: .13em; line-height: 1.2; }
.tracker-executive-brief > header > span { border: 1px solid #ffffff2b; border-radius: 999px; color: #bdc8c2; padding: 6px 8px; font-size: .59rem; font-weight: 900; letter-spacing: .06em; line-height: 1; text-transform: uppercase; }
.tracker-brief-list { list-style: none; margin: 0; padding: 0; }
.tracker-brief-list li { position: relative; display: grid; grid-template-columns: 124px minmax(0, 1fr); gap: 4px 18px; margin: 0; border-top: 1px solid #ffffff14; padding: 17px 20px 17px 38px; }
.tracker-brief-list li:first-child { border-top: 0; }
.tracker-brief-list li::before { content: ""; position: absolute; left: 20px; top: 22px; width: 7px; height: 7px; border-radius: 50%; background: #76b7c8; box-shadow: 0 0 0 4px #76b7c816; }
.tracker-brief-list li[data-tone="urgent"]::before { background: #ff867d; box-shadow: 0 0 0 4px #ff867d18; }
.tracker-brief-list li[data-tone="watch"]::before { background: var(--yellow); box-shadow: 0 0 0 4px #ffd16618; }
.tracker-brief-list li[data-tone="active"]::before { background: #79dd97; box-shadow: 0 0 0 4px #79dd9718; }
.tracker-brief-list li > span { color: #b8c4be; font-size: .66rem; font-weight: 900; letter-spacing: .05em; line-height: 1.35; text-transform: uppercase; }
.tracker-brief-list li > strong { min-width: 0; font-size: .91rem; line-height: 1.4; }
.tracker-brief-list li > p { grid-column: 2; margin: 0; color: #aebbb5; font-size: .72rem; line-height: 1.5; }
.tracker-watch-panel { border-color: #ffd1663d; background: radial-gradient(circle at 100% 0%, #ffd16612, transparent 30%), linear-gradient(150deg, #211f1b, #12191d 78%); }
.tracker-watch-panel > header > span { display: grid; place-items: center; min-width: 36px; height: 36px; border: 1px solid #ffd1665c; border-radius: 50%; background: #ffd1660d; color: var(--yellow); font-size: .9rem; font-weight: 950; }
.tracker-watch-list { list-style: none; margin: 0; padding: 0 20px; }
.tracker-watch-list li { display: grid; gap: 4px; margin: 0; border-top: 1px solid #ffffff16; padding: 14px 0; }
.tracker-watch-list li:first-child { border-top: 0; }
.tracker-watch-list li > span { display: inline-flex; align-items: center; gap: 4px; justify-self: start; border: 1px solid currentColor; border-radius: 999px; color: var(--yellow); padding: 4px 6px; font-size: .54rem; font-weight: 950; letter-spacing: .06em; line-height: 1; text-transform: uppercase; }
.tracker-watch-list li[data-attention="urgent"] > span { color: #ff9189; }
.tracker-watch-list a { color: var(--paper); font-size: .79rem; font-weight: 850; line-height: 1.38; text-decoration-color: #ff8a3d78; text-underline-offset: 3px; }
.tracker-watch-list small { color: #aeb9b3; font-size: .64rem; line-height: 1.45; }
.tracker-intelligence-caveat { margin: 2px 20px 17px; border-left: 2px solid #ffd16666; padding-left: 10px; color: #aab5af; font-size: .63rem; line-height: 1.5; }
.tracker-panel-empty { margin: 0; padding: 20px; color: #adb8b2; font-size: .75rem; line-height: 1.55; }
.tracker-intelligence-heading, .tracker-desk-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin: 54px 0 19px; }
.tracker-intelligence-heading h2, .tracker-desk-heading h2 { margin-bottom: 0; }
.tracker-intelligence-heading > p, .tracker-desk-heading > p { max-width: 390px; margin: 0; color: #aeb9b3; font-size: .76rem; line-height: 1.55; }
.tracker-intelligence-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
section.tracker-intelligence-panel { max-width: none; overflow: hidden; border: 1px solid #ffffff22; border-radius: 18px; background: linear-gradient(145deg, #192831, #10191f); padding: 0; }
.tracker-intelligence-panel > header { display: flex; align-items: flex-start; gap: 13px; border-bottom: 1px solid #ffffff18; padding: 17px 18px; }
.tracker-intelligence-panel > header > span { display: grid; place-items: center; width: 31px; height: 31px; flex: 0 0 auto; border: 1px solid #ff8a3d4d; border-radius: 9px; color: var(--orange); font-size: .61rem; font-weight: 950; }
.tracker-intelligence-panel > header p { margin: 0; color: #9eaaa4; font-size: .56rem; font-weight: 950; letter-spacing: .11em; line-height: 1.2; }
.tracker-intelligence-panel > header h3 { margin: 4px 0 0; font-size: .94rem; line-height: 1.3; }
.tracker-rank-list { list-style: none; margin: 0; padding: 0; }
.tracker-rank-list li { margin: 0; border-top: 1px solid #ffffff12; }
.tracker-rank-list li:first-child { border-top: 0; }
.tracker-rank-list button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 0; background: transparent; color: var(--paper); padding: 11px 18px; text-align: left; cursor: pointer; }
.tracker-rank-list button:hover, .tracker-rank-list button[aria-pressed="true"] { background: #ff8a3d11; }
.tracker-rank-list button:focus-visible { position: relative; z-index: 1; outline: 3px solid var(--yellow); outline-offset: -3px; }
.tracker-rank-list button > span { min-width: 0; display: grid; gap: 2px; }
.tracker-rank-list button strong { overflow: hidden; color: #e4e9e6; font-size: .72rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.tracker-rank-list button small { color: #929f98; font-size: .58rem; line-height: 1.3; }
.tracker-rank-list button b { display: grid; place-items: center; min-width: 29px; height: 29px; border: 1px solid #ffffff22; border-radius: 9px; background: #ffffff07; color: var(--yellow); font-size: .7rem; }
.tracker-desk-heading { margin-top: 60px; }
.tracker-controls { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 0; background: linear-gradient(145deg, #14212a, #0f181f); box-shadow: 0 16px 36px #00000020; }
.tracker-control-search { grid-column: span 2; }
.tracker-active-filters { min-height: 29px; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 0 0 8px; }
.tracker-active-filters:empty { min-height: 0; margin: 0; }
.tracker-filter-chip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #76b7c85c; border-radius: 999px; background: #76b7c810; color: #d7eef2; padding: 6px 9px; font: 800 .65rem/1.2 inherit; cursor: pointer; }
.tracker-filter-chip .ui-icon { color: #9bdce9; }
.tracker-filter-chip:hover { border-color: #9bdce9; }
.tracker-filter-chip:focus-visible { outline: 3px solid var(--yellow); outline-offset: 2px; }
.tracker-browser-status { margin-top: 9px; }
.tracker-social-stage { position: relative; overflow: hidden; border: 1px solid #ffffff2e; border-radius: 24px; background: radial-gradient(circle at 12% 0%, #ff8a3d20, transparent 28%), radial-gradient(circle at 88% 2%, #7aa7f719, transparent 26%), linear-gradient(155deg, #1a2933, #0e171e 72%); padding: clamp(18px, 3vw, 30px); box-shadow: 0 24px 60px #00000035; }
.tracker-social-stage::before { content: ""; position: absolute; inset: 0 0 auto; height: 8px; background: conic-gradient(from 90deg, #f4f1e8 25%, #17242d 0 50%, #f4f1e8 0 75%, #17242d 0); background-size: 18px 18px; opacity: .72; }
.tracker-social-stage > * { position: relative; z-index: 1; }
.tracker-social-stage-copy { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin: 4px 0 22px; border-bottom: 1px solid #ffffff1f; padding: 0 0 20px; }
.tracker-social-stage-copy > div { max-width: 690px; }
.tracker-social-stage-copy p { margin: 0; color: #d4ddd8; font-size: .88rem; line-height: 1.65; }
.tracker-social-stage-copy .tracker-social-overline { margin: 0 0 8px; color: var(--yellow); font-size: .68rem; font-weight: 950; letter-spacing: .13em; line-height: 1.2; }
.tracker-newsroom-cta { flex: 0 0 auto; display: grid; gap: 3px; min-width: 205px; border: 1px solid #ff8a3d70; border-radius: 14px; background: #ff8a3d10; color: var(--paper); padding: 12px 14px; font-size: .77rem; font-weight: 900; line-height: 1.35; text-decoration: none; }
.tracker-newsroom-cta span:first-child { color: var(--orange); font-size: .61rem; letter-spacing: .12em; }
.tracker-newsroom-cta:hover { border-color: var(--orange); background: #ff8a3d1c; }
.tracker-social-wall { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 18px; }
.tracker-social-feed { --social-accent: var(--orange); max-width: none; min-width: 0; overflow: hidden; margin: 0; border: 1px solid #ffffff2c; border-top: 4px solid var(--social-accent); border-radius: 19px; background: #111b22; box-shadow: 0 16px 36px #00000033; }
.tracker-social-feed-facebook { --social-accent: #7aa7f7; }
.tracker-social-feed-instagram { --social-accent: #ee79ad; }
.tracker-social-feed-header { min-height: 116px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 18px; background: linear-gradient(145deg, color-mix(in srgb, var(--social-accent) 14%, #17242d), #111b22 76%); }
.tracker-social-feed-header > div { min-width: 0; }
.tracker-social-feed-header p { margin: 7px 0 3px; color: var(--social-accent); font-size: .62rem; font-weight: 950; letter-spacing: .12em; line-height: 1.2; }
.tracker-social-feed-header h3 { overflow-wrap: anywhere; margin: 0; color: var(--paper); font-size: 1.08rem; line-height: 1.25; }
.tracker-social-feed-header > a { flex: 0 0 auto; border: 1px solid color-mix(in srgb, var(--social-accent) 65%, transparent); border-radius: 999px; color: #f4f1e8; padding: 8px 10px; font-size: .68rem; font-weight: 900; line-height: 1.2; text-decoration: none; }
.tracker-social-feed-header > a:hover { border-color: var(--social-accent); color: var(--social-accent); }
.tracker-live-pill { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #ffffff35; border-radius: 999px; background: #09111799; color: #f4f1e8; padding: 5px 7px; font-size: .58rem; font-weight: 950; letter-spacing: .09em; line-height: 1; }
.tracker-live-pill > span { width: 7px; height: 7px; border-radius: 50%; background: #79dd97; box-shadow: 0 0 0 3px #79dd9720; }
.tracker-social-frame { height: 760px; overflow: hidden; border-top: 1px solid #ffffff1b; border-bottom: 1px solid #ffffff1b; background: #fff; color-scheme: light; }
.tracker-social-frame iframe { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
.tracker-social-feed footer { min-height: 61px; display: flex; align-items: center; margin: 0; color: #b8c5bf; padding: 12px 16px; font-size: .67rem; line-height: 1.45; }
.tracker-social-disclosure { margin: 18px 2px 0; color: #aebbb5; font-size: .68rem; line-height: 1.55; }
.tracker-feed-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tracker-story-card { max-width: none; min-width: 0; display: flex; overflow: hidden; flex-direction: column; margin: 0; border: 1px solid #ffffff22; border-top: 3px solid #ffffff28; border-radius: 17px; background: linear-gradient(145deg, #1a2933, #111c24); box-shadow: 0 14px 32px #00000022; }
.tracker-story-attention-urgent { border-top-color: #ff756b; }
.tracker-story-attention-watch { border-top-color: var(--yellow); }
.tracker-story-attention-opportunity { border-top-color: #79dd97; }
.tracker-story-card:hover { border-color: #ff8a3d70; box-shadow: 0 18px 40px #00000032; }
.tracker-story-media { position: relative; isolation: isolate; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-bottom: 1px solid #ffffff20; background: #0e181f; color: var(--paper); text-decoration: none; }
.tracker-story-media::after { content: "READ ARTICLE"; position: absolute; right: 12px; bottom: 12px; z-index: 3; border: 1px solid #ffffff4a; border-radius: 999px; background: #0b151ccf; color: #fff; padding: 7px 9px; font-size: .58rem; font-weight: 950; letter-spacing: .08em; line-height: 1; opacity: 0; transform: translateY(4px); transition: opacity 160ms ease, transform 160ms ease; }
.tracker-story-media:hover::after, .tracker-story-media:focus-visible::after { opacity: 1; transform: translateY(0); }
.tracker-story-media:focus-visible { outline: 3px solid var(--yellow); outline-offset: -3px; }
.tracker-story-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 220ms ease, filter 220ms ease; }
.tracker-story-media:hover img, .tracker-story-media:focus-visible img { filter: saturate(1.08) contrast(1.03); transform: scale(1.025); }
.tracker-story-image-fallback { position: relative; display: grid; width: 100%; height: 100%; align-content: center; justify-items: start; overflow: hidden; background: radial-gradient(circle at 82% 20%, #ff8a3d38, transparent 26%), linear-gradient(135deg, #21333f, #101a21 68%); padding: clamp(22px, 4vw, 34px); }
.tracker-story-image-fallback::before { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 0 52%, #f4f1e80b 52% 54%, transparent 54% 61%, #ff8a3d1c 61% 64%, transparent 64%), repeating-linear-gradient(90deg, transparent 0 47px, #ffffff08 47px 48px); }
.tracker-story-image-fallback::after { content: ""; position: absolute; right: clamp(20px, 5vw, 48px); bottom: -20px; width: 92px; height: 170px; border: 9px double #f4f1e814; border-radius: 50%; transform: rotate(28deg); }
.tracker-story-image-fallback > * { position: relative; z-index: 1; }
.tracker-story-image-fallback .tracker-story-image-fallback-label { margin-bottom: 9px; color: var(--orange); font-size: .61rem; font-weight: 950; letter-spacing: .15em; }
.tracker-story-image-fallback strong { color: #f4f1e8; font-size: clamp(2.7rem, 7vw, 4.4rem); letter-spacing: -.055em; line-height: .82; text-shadow: 0 5px 20px #0008; }
.tracker-story-image-fallback > span:last-child { max-width: 75%; margin-top: 10px; color: #c1cec8; font-size: .68rem; font-weight: 800; letter-spacing: .04em; line-height: 1.35; text-transform: uppercase; }
.tracker-story-body { flex: 1; display: flex; flex-direction: column; padding: 20px; }
.tracker-story-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.tracker-kind { border: 1px solid currentColor; border-radius: 999px; padding: 5px 8px; font-size: .61rem; font-weight: 900; letter-spacing: .06em; line-height: 1.1; text-transform: uppercase; }
.tracker-kind-official { color: #a9dfb9; background: #3e9c5b16; }
.tracker-kind-coverage { color: #9bdce9; background: #76b7c814; }
.tracker-story-meta time { color: var(--muted); font-size: .7rem; font-weight: 800; }
.tracker-story-signals { display: flex; flex-wrap: wrap; gap: 6px; margin: 11px 0 0; }
.tracker-story-signals > span { display: inline-flex; align-items: center; gap: 4px; border: 1px solid #ffffff24; border-radius: 999px; background: #ffffff06; color: #b9c5bf; padding: 5px 7px; font-size: .56rem; font-weight: 850; line-height: 1.1; }
.tracker-story-signals .tracker-attention { color: #c8d1cc; }
.tracker-story-signals .tracker-attention-urgent { border-color: #ff756b80; background: #ff756b13; color: #ffaaa4; }
.tracker-story-signals .tracker-attention-watch { border-color: #ffd16670; background: #ffd1660e; color: #ffe29b; }
.tracker-story-signals .tracker-attention-opportunity { border-color: #79dd9770; background: #79dd970e; color: #aaf0be; }
.tracker-story-signals .tracker-tone-critical { border-color: #ff756b52; color: #ffaaa4; }
.tracker-story-signals .tracker-tone-favorable { border-color: #79dd9752; color: #aaf0be; }
.tracker-story-signals .tracker-tone-mixed { border-color: #76b7c852; color: #b7e8f2; }
.tracker-story-card h3 { margin: 14px 0 8px; font-size: 1.08rem; line-height: 1.3; }
.tracker-story-card h3 a { text-decoration-color: #ff8a3d60; text-underline-offset: 4px; }
.tracker-story-body > p { margin: 0 0 16px; color: var(--muted); font-size: .8rem; line-height: 1.55; }
.tracker-story-source { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: auto; border-top: 1px solid #ffffff18; padding-top: 13px; }
.tracker-story-source strong, .tracker-story-source span, .tracker-story-source a { font-size: .7rem; line-height: 1.35; }
.tracker-story-source span { color: var(--muted); }
.tracker-story-source a { margin-left: auto; color: var(--orange); font-weight: 900; text-underline-offset: 3px; }

.schedule-browser { max-width: none; }
.schedule-browser-heading { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 22px; }
.schedule-browser-heading h2 { margin-bottom: 0; }
.schedule-next-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.schedule-next-grid a { min-width: 0; display: flex; flex-direction: column; gap: 7px; border: 1px solid #ffffff24; border-radius: 16px; background: linear-gradient(145deg, #1a2933, #121d25); padding: 20px; text-decoration: none; }
.schedule-next-grid a:hover { border-color: #ff8a3d8f; transform: translateY(-2px); }
.schedule-next-grid time { color: var(--orange); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.schedule-next-grid strong { font-size: 1.05rem; line-height: 1.3; }
.schedule-next-grid span { color: var(--muted); font-size: .8rem; line-height: 1.45; }
.schedule-next-grid a:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.schedule-controls { grid-template-columns: minmax(220px, 1.7fr) repeat(2, minmax(150px, 1fr)) auto; }
.schedule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 16px; }
.schedule-card { max-width: none; min-width: 0; display: grid; grid-template-columns: 88px minmax(0, 1fr); overflow: hidden; margin: 0; border: 1px solid #ffffff24; border-radius: 18px; background: linear-gradient(145deg, #1a2933, #111c24); box-shadow: 0 12px 28px #0000001f; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.schedule-card:hover { border-color: #ff8a3d8f; transform: translateY(-2px); box-shadow: 0 16px 34px #00000033; }
.schedule-card[data-source="portal"] { border-style: dashed; }
.schedule-date { display: flex; min-height: 100%; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border-right: 1px solid #ff8a3d45; background: linear-gradient(180deg, #5a2d20, #2a2221); color: var(--paper); padding: 18px 8px; text-align: center; text-decoration: none; }
.schedule-card[data-program="ndr"] .schedule-date { border-right-color: #76b7c866; background: linear-gradient(180deg, #214754, #172d36); }
.schedule-card[data-program="special"] .schedule-date { border-right-color: #ffd16666; background: linear-gradient(180deg, #59491f, #2c291d); }
.schedule-date-month { color: var(--orange); font-size: .71rem; font-weight: 900; letter-spacing: .13em; line-height: 1.1; text-transform: uppercase; }
.schedule-card[data-program="ndr"] .schedule-date-month { color: #9bdce9; }
.schedule-card[data-program="special"] .schedule-date-month { color: var(--yellow); }
.schedule-date-day { color: var(--paper); font-size: 2.25rem; line-height: .95; letter-spacing: -.06em; }
.schedule-date-year, .schedule-date-end { color: #d2dad5; font-size: .68rem; font-weight: 800; line-height: 1.2; }
.schedule-card-body { min-width: 0; display: flex; flex-direction: column; padding: 19px 20px; }
.schedule-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.schedule-badge { display: inline-flex; align-items: center; gap: 5px; border: 1px solid #ffffff36; border-radius: 999px; background: #ffffff08; color: #dce3de; padding: 5px 8px; font-size: .62rem; font-weight: 900; letter-spacing: .07em; line-height: 1.1; text-transform: uppercase; }
.schedule-badge-program { border-color: #ff8a3d70; background: #ff8a3d12; color: #ffb17b; }
.schedule-card[data-program="ndr"] .schedule-badge-program { border-color: #76b7c87d; background: #76b7c812; color: #a9dce8; }
.schedule-card[data-program="special"] .schedule-badge-program { border-color: #ffd16680; background: #ffd16612; color: var(--yellow); }
.schedule-badge-approved { border-color: #73c38d70; background: #3e9c5b18; color: #a9dfb9; }
.schedule-badge-new, .schedule-badge-submitted { border-color: #ffffff38; color: #d5ddd8; }
.schedule-card h3 { margin: 12px 0 7px; font-size: 1.18rem; line-height: 1.2; }
.schedule-card h3 a { color: var(--paper); text-decoration-color: #ff8a3d70; text-underline-offset: 4px; }
.schedule-card h3 a:hover { color: var(--orange); }
.schedule-card-details, .schedule-location { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.schedule-location { margin-bottom: 5px; color: #dce3de; font-weight: 800; }
.schedule-source-row { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: auto; padding-top: 15px; }
.schedule-source-row a, .schedule-source-row span { color: var(--orange); font-size: .72rem; font-weight: 900; line-height: 1.4; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.schedule-source-row span { color: var(--muted); }
.schedule-card a:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.schedule-empty { margin: 18px 0 0; border: 1px dashed #ffffff38; border-radius: 14px; background: #ffffff08; padding: 24px; color: var(--paper); text-align: center; }

.setup-learning-grid { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 28px 0 0; padding: 0; }
.setup-learning-grid li { min-width: 0; margin: 0; }
.setup-learning-grid a { min-height: 174px; display: flex; flex-direction: column; border: 1px solid #ffffff24; border-radius: 18px; background: linear-gradient(145deg, #1a2933, #121d25); padding: 21px; text-decoration: none; }
.setup-learning-grid a:hover { border-color: var(--orange); transform: translateY(-2px); }
.setup-learning-grid a:focus-visible, .lab-calculator input:focus-visible, .lab-calculator button:focus-visible, .lab-back-link a:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.setup-learning-grid span { color: var(--orange); font-size: .68rem; font-weight: 900; letter-spacing: .1em; line-height: 1.35; }
.setup-learning-grid strong { margin: 11px 0 7px; font-size: 1.25rem; line-height: 1.15; }
.setup-learning-grid small { margin-top: auto; color: var(--muted); font-size: .82rem; line-height: 1.55; }

.calculator-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 18px; margin-top: 28px; }
.lab-calculator { min-width: 0; display: grid; gap: 15px; border: 1px solid #ffffff25; border-radius: 20px; background: linear-gradient(145deg, #1a2933, #111c24); padding: 22px; }
.lab-calculator .kicker { margin: 0 0 5px; }
.lab-calculator h3 { margin: 0 0 7px; font-size: 1.35rem; }
.lab-calculator p { margin: 0; font-size: .86rem; line-height: 1.55; }
.lab-input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.lab-calculator > label, .lab-input-grid label { display: grid; gap: 6px; color: var(--paper); font-size: .72rem; font-weight: 900; letter-spacing: .05em; line-height: 1.4; text-transform: uppercase; }
.lab-calculator input { min-width: 0; min-height: 46px; width: 100%; border: 1px solid #657680; border-radius: 10px; background: #0f1b23; color: var(--paper); padding: 10px 12px; font: 750 .95rem/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: 0; text-transform: none; }
.lab-calculator button { min-height: 46px; display: inline-flex; align-items: center; gap: 7px; justify-self: start; border: 1px solid var(--orange); border-radius: 999px; background: var(--orange); color: var(--ink); padding: 10px 16px; font: 900 .82rem/1.2 inherit; cursor: pointer; }
.lab-calculator button:hover { border-color: var(--yellow); background: var(--yellow); }
.lab-output { min-height: 105px; display: block; border-left: 4px solid var(--yellow); border-radius: 0 12px 12px 0; background: #0d171e; color: var(--paper); padding: 16px; font-size: .89rem; font-weight: 700; line-height: 1.65; }
.formula.compact { margin: 0; padding: 14px; font-size: .86rem; }
.calculator-caveat { border-top: 1px solid #ffffff18; padding-top: 13px; color: var(--muted) !important; font-size: .78rem !important; }
.drag-plot { width: 100%; height: 230px; display: block; border: 1px solid #ffffff24; border-radius: 13px; background: #0c161d; }
.worked-example-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.worked-example { max-width: none; margin: 22px 0; border: 1px solid #ffd1665c; border-radius: 16px; background: #ffd1660b; padding: 19px; }
.worked-example-grid .worked-example { margin: 0; }
.worked-example h3 { margin: 0 0 10px; font-size: 1.08rem; }
.worked-example p { margin: 6px 0 0; font-size: .9rem; line-height: 1.6; }
.lab-variable-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 24px 0; border: 1px solid #ffffff20; border-radius: 15px; overflow: hidden; }
.lab-variable-list > div { display: grid; grid-template-columns: minmax(65px, .35fr) minmax(0, 1.65fr); gap: 12px; border-bottom: 1px solid #ffffff18; padding: 14px; }
.lab-variable-list > div:nth-last-child(-n + 2) { border-bottom: 0; }
.lab-variable-list dt { color: var(--yellow); font: 900 .9rem/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; }
.lab-variable-list dd { margin: 0; color: #d4dbd6; font-size: .83rem; line-height: 1.5; }
.failure-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 24px 0; }
.failure-grid > div { border-left: 3px solid var(--orange); background: #ffffff08; padding: 14px 16px; }
.failure-grid strong, .failure-grid span { display: block; }
.failure-grid strong { font-size: .84rem; line-height: 1.35; }
.failure-grid span { margin-top: 5px; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.lab-back-link { margin: 26px 0 0; }
.lab-back-link a { color: var(--orange); font-weight: 900; text-underline-offset: 4px; }

.science-figure { max-width: none; margin: 30px 0; overflow: hidden; border: 1px solid #ffffff2f; border-radius: 20px; background: #0d171e; box-shadow: 0 18px 44px #0000002c; }
.diagram-stage { position: relative; overflow: hidden; color: var(--paper); }
.precision-diagram { height: clamp(440px, 54vw, 540px); background: #0d171e; }
.precision-diagram[data-guide-diagram="crossbind"], .precision-diagram[data-guide-diagram="spindle-alignment"], .precision-diagram[data-guide-diagram="aerodynamics"] { height: clamp(500px, 59vw, 590px); }
.precision-diagram[data-guide-diagram="wind-tunnel"] { height: clamp(540px, 62vw, 630px); }
.precision-diagram[data-guide-diagram="alignment-clinic"] { height: clamp(590px, 68vw, 700px); }
.guide-diagram-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.science-figure figcaption { display: grid; grid-template-columns: minmax(170px, .65fr) minmax(240px, 1.2fr) minmax(210px, .85fr); align-items: start; gap: 16px 22px; border-top: 1px solid #ffffff20; background: #17242e; padding: 18px 20px; }
.science-figure figcaption strong { font-size: .9rem; line-height: 1.45; }
.science-figure figcaption span { color: #c4cec8; font-size: .82rem; line-height: 1.58; }
.science-figure figcaption .guide-drawing-standard { border-left: 2px solid #76b7c868; padding-left: 13px; color: #aebbb4; font-size: .74rem; }
.guide-drawing-standard b { color: #dfe8e3; }

.guide-preflight { margin-top: 24px; }
.guide-field-sheet { margin-top: 26px; border: 1px solid #ffffff25; border-radius: 20px; background: linear-gradient(145deg, #172833, #101a21); padding: clamp(18px, 3vw, 26px); box-shadow: 0 18px 42px #00000025; }
.guide-field-question { max-width: 820px; margin-bottom: 20px; border-bottom: 1px solid #ffffff1c; padding-bottom: 19px; }
.guide-field-question h3 { margin: 8px 0 0; font-size: clamp(1.2rem, 3vw, 1.75rem); line-height: 1.25; }
.guide-field-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid #ffffff1d; border-radius: 15px; overflow: hidden; }
.guide-field-grid article { min-width: 0; border-left: 1px solid #ffffff1d; background: #ffffff05; padding: 17px; }
.guide-field-grid article:first-child { border-left: 0; }
.guide-field-grid ul { margin: 12px 0 0; padding-left: 18px; }
.guide-field-grid li { margin: 7px 0; color: #d6ded9; font-size: .82rem; line-height: 1.55; }
.guide-decision-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.guide-decision-grid article { border-left: 3px solid var(--yellow); background: #ffd16609; padding: 16px 17px; }
.guide-decision-grid article:last-child { border-left-color: #76b7c8; background: #76b7c809; }
.guide-decision-grid p:last-child { margin: 9px 0 0; color: #d5ded9; font-size: .84rem; line-height: 1.6; }
.guide-authority-note { margin: 18px 0 0; border-top: 1px solid #ffffff1c; padding-top: 16px; color: #adb9b2; font-size: .76rem; line-height: 1.58; }
.guide-authority-note strong { color: var(--paper); }
.guide-field-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 17px; }

.garage-nav-link { border: 1px solid #ff8a3d80; border-radius: 999px; background: #ff8a3d16; color: var(--orange) !important; padding: 8px 12px; white-space: nowrap; }
.garage-nav-link:hover, .garage-nav-link:focus-visible { border-color: var(--yellow); background: var(--orange); color: var(--ink) !important; }
.garage-app { --garage-panel: #13212b; min-width: 0; }
.garage-app-status { position: relative; z-index: 12; min-height: 44px; display: flex; align-items: center; gap: 7px; margin: 0 0 18px; border: 1px solid #76b7c866; border-radius: 999px; background: #0d1921f2; color: #dce6e1; padding: 9px 15px; font-size: .8rem; font-weight: 800; line-height: 1.4; box-shadow: 0 9px 24px #0000002e; }
.garage-app-status[data-tone="success"] { border-color: #73c38d82; color: #bce8c8; }
.garage-app-status[data-tone="error"] { border-color: #ff7a707d; color: #ffc0bb; }
.garage-auth { border-top: 0; padding-top: 14px; }
.garage-auth-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.garage-auth .garage-panel { display: grid; align-content: start; gap: 15px; }
.garage-panel { max-width: none; min-width: 0; margin: 0; border: 1px solid #ffffff26; border-radius: 20px; background: linear-gradient(145deg, #1a2b36, var(--garage-panel)); padding: 22px; box-shadow: 0 16px 40px #0000001f; }
.garage-panel h3 { margin: 0 0 18px; }
.garage-app label { min-width: 0; }
.garage-app label > span, .garage-measurement-group legend { display: block; margin-bottom: 7px; color: #e9eeeb; font-size: .7rem; font-weight: 900; letter-spacing: .06em; line-height: 1.35; text-transform: uppercase; }
.garage-app input, .garage-app select, .garage-app textarea, .garage-app button { font-family: inherit; }
.garage-app input:not([type="checkbox"]):not([type="hidden"]),
.garage-app select,
.garage-app textarea { min-width: 0; width: 100%; border: 1px solid #667a86; border-radius: 11px; background: #0d1921; color: var(--paper); padding: 11px 12px; font-size: .92rem; font-weight: 700; line-height: 1.35; }
.garage-app input:not([type="checkbox"]):not([type="hidden"]), .garage-app select { min-height: 46px; }
.garage-app textarea { min-height: 100px; resize: vertical; }
.garage-app input[readonly] { border-style: dashed; color: #bac5bf; cursor: not-allowed; }
.garage-app input::placeholder, .garage-app textarea::placeholder { color: #94a19b; opacity: 1; }
.garage-app input:focus-visible, .garage-app select:focus-visible, .garage-app textarea:focus-visible, .garage-app button:focus-visible, .garage-jump-nav a:focus-visible, .garage-course-canvas:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.garage-app button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; border: 1px solid #ff8a3d80; border-radius: 999px; background: #ff8a3d12; color: var(--orange); padding: 9px 14px; font-size: .8rem; font-weight: 900; line-height: 1.25; cursor: pointer; }
.garage-app button:hover { border-color: var(--yellow); background: var(--orange); color: var(--ink); }
.garage-app button:disabled { cursor: not-allowed; filter: grayscale(.7); opacity: .55; }
.garage-app button.primary-cta { border-color: var(--orange); background: var(--orange); color: var(--ink); }
.garage-app button.primary-cta:hover { border-color: var(--yellow); background: var(--yellow); }
.garage-app button.text-cta { min-height: 40px; border: 0; border-radius: 0; background: transparent; color: var(--orange); padding: 4px 0; }
.garage-field-help { margin: 3px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.garage-dashboard-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 14px 0 22px; border-bottom: 1px solid #ffffff20; padding: 0 0 24px; }
.garage-dashboard-header h2 { margin-bottom: 0; }
.garage-jump-nav { position: sticky; top: 76px; z-index: 11; display: flex; gap: 7px; overflow-x: auto; margin: 0 0 8px; border: 1px solid #ffffff22; border-radius: 15px; background: #101820f2; padding: 9px; scrollbar-width: thin; }
.garage-jump-nav a { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; border: 1px solid #ffffff20; border-radius: 999px; color: #dbe2de; padding: 8px 11px; font-size: .69rem; font-weight: 900; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.garage-jump-icon { width: 15px; height: 15px; }
.garage-jump-nav a:hover { border-color: var(--orange); color: var(--orange); }
.garage-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 15px; }
.garage-field-wide, .garage-form-grid > h3 { grid-column: 1 / -1; }
.garage-form-actions { display: flex; flex-wrap: wrap; gap: 9px; border-top: 1px solid #ffffff18; padding-top: 16px; }
.garage-input-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.garage-measurement-group { min-width: 0; margin: 0; border: 1px solid #ffffff20; border-radius: 14px; padding: 16px; }
.garage-measurement-group legend { padding: 0 7px; }
.garage-app details.garage-field-wide { min-width: 0; border: 1px solid #ffffff24; border-radius: 14px; background: #0d192199; }
.garage-app details.garage-field-wide > summary { min-height: 48px; cursor: pointer; padding: 14px 16px; color: #f5f7f5; font-size: .8rem; font-weight: 900; line-height: 1.4; }
.garage-app details.garage-field-wide > summary::marker { color: var(--orange); }
.garage-app details.garage-field-wide[open] > summary { border-bottom: 1px solid #ffffff1f; background: #ffffff08; color: var(--yellow); }
.garage-app details.garage-field-wide > .garage-form-grid { padding: 17px 16px 16px; }
[data-garage-split-list], [data-garage-wheel-transfer-list] { display: grid; gap: 12px; margin-top: 14px; }
[data-garage-split-list] > .garage-measurement-group,
[data-garage-wheel-transfer-list] > .garage-measurement-group { background: #ffffff06; }
.garage-checkbox { min-height: 46px; display: flex; align-items: center; gap: 10px; border: 1px solid #ffffff20; border-radius: 11px; background: #0d1921; padding: 10px 12px; }
.garage-checkbox input { width: 20px; height: 20px; accent-color: var(--orange); }
.garage-checkbox > span { margin: 0 !important; text-transform: none !important; }
.garage-table-tools { display: flex; justify-content: flex-end; margin-top: 22px; }
.garage-table-tools label { width: min(100%, 380px); }
.garage-run-table td:last-child button { min-height: 36px; margin: 2px; padding: 6px 9px; font-size: .7rem; }
.garage-run-table td strong, .garage-run-table td span { display: block; }
.garage-run-table td span { margin-top: 4px; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.garage-stats-controls { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)) auto; align-items: end; gap: 12px; }
.garage-stat-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin: 18px 0 24px; }
.garage-stat-grid > div { min-width: 0; border: 1px solid #ffffff20; border-radius: 14px; background: #ffffff08; padding: 15px; }
.garage-stat-grid dt { color: var(--muted); font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.garage-stat-grid dd { overflow-wrap: anywhere; margin: 8px 0 0; color: var(--yellow); font-size: clamp(1.05rem, 2.5vw, 1.55rem); font-weight: 950; letter-spacing: -.03em; }
.garage-experiment-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 20px; }
.garage-experiment-list > article { min-width: 0; border: 1px solid #ffffff22; border-radius: 16px; background: #ffffff08; padding: 18px; }
.garage-experiment-list h3 { margin: 0 0 8px; }
.garage-experiment-list p { margin: 6px 0; font-size: .83rem; line-height: 1.55; }
.garage-coach { position: relative; overflow: hidden; border-color: #ffd16655; background: radial-gradient(circle at 85% 10%, #ffd16617, transparent 18rem), linear-gradient(145deg, #1a2b36, #111d25); }
.garage-coach ul { margin-bottom: 18px; }
.garage-coach li::marker { color: var(--orange); }
.garage-loading-bay, .garage-game-stage { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); gap: 0; overflow: hidden; margin: 22px 0 10px; border: 1px solid #ff8a3d5c; border-radius: 24px; background: #0d171e; padding: 0; box-shadow: 0 24px 60px #0000003b; }
.garage-coach-portrait, .garage-game-stage img { display: block; width: 100%; height: 100%; min-height: 320px; object-fit: cover; object-position: center; }
.garage-loading-copy, .garage-game-copy { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: clamp(24px, 5vw, 46px); }
.garage-coach-bubble, .garage-speech { position: relative; border: 1px solid #ffd16680; border-radius: 18px; background: #f6f1e5; color: #17242e; padding: 18px 20px; font-size: 1.05rem; font-weight: 800; line-height: 1.55; box-shadow: 0 14px 34px #0000002b; }
.garage-coach-bubble::before, .garage-speech::before { content: ""; position: absolute; left: -13px; top: 32px; width: 24px; height: 24px; border-left: 1px solid #ffd16680; border-bottom: 1px solid #ffd16680; background: #f6f1e5; transform: rotate(45deg); }
.garage-car-preview { position: relative; min-height: 130px; margin-top: 20px; overflow: hidden; border: 1px solid #76b7c850; border-radius: 15px; background: linear-gradient(#172b36 0 67%, #27353b 67% 72%, #111a20 72%); }
.garage-car-preview::before { content: ""; position: absolute; left: 14%; right: 14%; bottom: 31px; height: 40px; border: 3px solid var(--orange); border-radius: 70% 38% 18% 20% / 80% 65% 30% 28%; background: #813d25; box-shadow: 0 0 22px #ff8a3d24; }
.garage-car-preview::after { content: ""; position: absolute; left: 21%; right: 21%; bottom: 13px; height: 42px; background: radial-gradient(circle at 5% 50%, #101820 0 13px, #d7dfda 14px 17px, transparent 18px), radial-gradient(circle at 95% 50%, #101820 0 13px, #d7dfda 14px 17px, transparent 18px); }
.garage-car-preview strong, .garage-car-preview span { position: relative; z-index: 2; display: block; padding-left: 16px; }
.garage-car-preview strong { padding-top: 12px; }
.garage-car-preview span { color: var(--muted); font-size: .75rem; }
.garage-scouting-note { margin: 22px 0; border: 1px solid #76b7c85c; border-radius: 18px; background: #76b7c80b; padding: 20px; }
.garage-scouting-note h3 { margin: 0 0 10px; }
.garage-scouting-note blockquote { margin: 0; border-left: 4px solid var(--orange); padding: 8px 0 8px 16px; color: var(--paper); font-size: 1rem; font-weight: 800; line-height: 1.65; }
.garage-scouting-note p { margin: 10px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.garage-danger-zone { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); align-items: start; gap: 24px; border-color: #ff756b80; background: radial-gradient(circle at 10% 0%, #ff5f571c, transparent 22rem), linear-gradient(145deg, #251d22, #151a20); }
.garage-danger-copy .kicker { color: #ff9189; }
.garage-danger-copy h3 { margin-bottom: 12px; color: #fff2f0; }
.garage-danger-copy p { max-width: 68ch; color: #d9cfce; line-height: 1.65; }
.garage-danger-form { display: grid; gap: 15px; border-left: 1px solid #ff756b4d; padding-left: 24px; }
.garage-danger-form .garage-field-help { margin-bottom: 2px; }
.garage-app button.garage-danger-button { justify-self: start; border-color: #ff756b; background: #b63832; color: #fff; }
.garage-app button.garage-danger-button:hover { border-color: var(--yellow); background: #dc4c44; color: #fff; }
.garage-simulator-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(230px, .35fr); align-items: stretch; gap: 14px; margin: 20px 0; }
.garage-course-canvas { display: block; width: 100%; height: auto; border: 1px solid #76b7c85c; border-radius: 18px; background: #0a151c; touch-action: none; }
.garage-sim-readout { min-width: 0; border: 1px solid #ffd1664d; border-radius: 18px; background: #ffd1660b; padding: 18px; color: #e8ede9; font-size: .85rem; line-height: 1.65; }
.garage-sim-readout strong { color: var(--yellow); }
.garage-physics-grid, .garage-sim-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.garage-sim-metrics > div { border: 1px solid #ffffff20; border-radius: 13px; background: #0d1921; padding: 13px; }
.garage-sim-metrics dt, .garage-sim-metrics dd { display: block; }
.garage-sim-metrics dt { color: var(--muted); font-size: .65rem; font-weight: 900; letter-spacing: .07em; line-height: 1.35; text-transform: uppercase; }
.garage-sim-metrics dd { margin: 6px 0 0; color: var(--yellow); font-size: 1.05rem; font-weight: 950; line-height: 1.25; }
.garage-scout-editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 20px 0; }
.garage-marker-legend { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.garage-marker-legend span { border: 1px solid #ffffff25; border-radius: 999px; background: #ffffff08; padding: 6px 9px; color: #dce4df; font-size: .68rem; font-weight: 800; }

.historic-feature { overflow: hidden; display: grid; grid-template-columns: minmax(210px, .62fr) minmax(0, 1.38fr); gap: 0; margin: 0 0 54px; border: 1px solid #ffffff26; border-radius: 24px; background: radial-gradient(circle at 8% 0%, #ff8a3d1c, transparent 25rem), linear-gradient(145deg, #172731, #0d171e); box-shadow: 0 24px 55px #0000002e; }
.historic-feature-copy { align-self: center; padding: clamp(24px, 4vw, 42px); }
.historic-feature-copy h2 { margin-bottom: 16px; font-size: clamp(1.75rem, 3.3vw, 3rem); }
.historic-feature-lead { margin: 0 0 18px; color: #e0e6e2; font-size: 1rem; line-height: 1.65; }
.historic-feature-meta, .historic-gallery-meta { margin: 0; color: #aebbb5; font-size: .69rem; font-weight: 850; letter-spacing: .07em; line-height: 1.55; text-transform: uppercase; }
.historic-feature-meta span, .historic-gallery-meta span { color: var(--orange); padding-inline: 4px; }
.historic-feature figure { min-width: 0; margin: 0; border-left: 1px solid #ffffff1f; background: #0b1318; }
.historic-feature-image { display: block; overflow: hidden; background: #17242e; text-decoration: none; }
.historic-feature-image img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .35s ease, filter .35s ease; }
.historic-feature-image:hover img, .historic-feature-image:focus-visible img { transform: scale(1.018); filter: contrast(1.04); }
.historic-feature-image:focus-visible, .historic-gallery-image:focus-visible { outline: 4px solid var(--yellow); outline-offset: -4px; }
.historic-media--contain img { object-fit: contain; background: #eef0ea; }
.historic-media--portrait img { object-fit: contain; background: #0b1318; }
.historic-media--contain.historic-media--portrait img { background: #eef0ea; }
.historic-feature figcaption { padding: 18px 20px 20px; }
.historic-feature figcaption > strong { display: block; font-size: 1rem; line-height: 1.35; }
.historic-feature figcaption > p:not(.historic-feature-context) { margin: 6px 0 10px; color: #c8d1cc; font-size: .82rem; line-height: 1.55; }
.historic-feature-credit { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; color: #97a7a0; font-size: .67rem; font-weight: 750; line-height: 1.5; }
.historic-feature-credit a, .historic-media-links a { color: #ffc18f; text-underline-offset: 3px; }
.historic-media-links { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; }
.historic-feature-context { margin: 13px 0 0; border-left: 3px solid #76b7c8; background: #76b7c80c; padding: 10px 12px; color: #bfcac5; font-size: .72rem; line-height: 1.5; }
.historic-feature--home { grid-template-columns: minmax(250px, .5fr) minmax(0, 1.5fr); border-color: #ff8a3d5c; }
.historic-feature--home .historic-feature-image img { aspect-ratio: 16 / 9; }

.historic-crowd-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 28px; }
.historic-crowd-stats a { min-height: 150px; display: grid; align-content: center; gap: 7px; border: 1px solid #ffffff24; border-radius: 18px; background: linear-gradient(145deg, #1a2933, #101a21); padding: 22px; text-decoration: none; }
.historic-crowd-stats a:hover, .historic-crowd-stats a:focus-visible { border-color: var(--orange); }
.historic-crowd-stats strong { color: var(--yellow); font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.04em; line-height: 1; }
.historic-crowd-stats span { color: #cbd4cf; font-size: .76rem; font-weight: 850; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; }
.historic-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 18px; margin-top: 30px; }
.historic-gallery-card { max-width: none; overflow: hidden; scroll-margin-top: 96px; border: 1px solid #ffffff24; border-radius: 20px; background: linear-gradient(150deg, #172731, #0e181f); box-shadow: 0 16px 38px #00000022; }
.historic-gallery-card:target { border-color: var(--yellow); box-shadow: 0 0 0 4px #ffd16624, 0 20px 45px #00000038; }
.historic-gallery-card figure { margin: 0; }
.historic-gallery-image { display: block; overflow: hidden; border-bottom: 1px solid #ffffff20; background: #17242e; text-decoration: none; }
.historic-gallery-image img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .3s ease; }
.historic-gallery-image:hover img, .historic-gallery-image:focus-visible img { transform: scale(1.02); }
.historic-gallery-card figcaption { padding: 20px; }
.historic-gallery-card h3 { margin: 9px 0 10px; font-size: 1.22rem; line-height: 1.15; }
.historic-gallery-card figcaption > p:not(.historic-gallery-meta) { margin: 0 0 16px; color: #cbd4cf; font-size: .82rem; line-height: 1.58; }
.historic-gallery-card dl { display: grid; gap: 0; margin: 0 0 16px; }
.historic-gallery-card dl > div { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 10px; border-top: 1px solid #ffffff17; padding: 9px 0; }
.historic-gallery-card dt { color: var(--orange); font-size: .65rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.historic-gallery-card dd { margin: 0; color: #abb8b2; font-size: .72rem; line-height: 1.48; }
.historic-gallery-card .historic-media-links { font-size: .7rem; font-weight: 800; }
.historic-rights-desk .card h3 { margin-top: 0; }
.historic-rights-desk .card p { font-size: .86rem; line-height: 1.6; }
.historic-rights-desk .card a { color: var(--orange); font-size: .78rem; font-weight: 900; text-underline-offset: 3px; }

footer { display: grid; grid-template-columns: 1fr 2fr; gap: 50px; border-top: 1px solid var(--line); padding: 40px max(20px, calc((100vw - 1120px) / 2)); }
footer p { color: var(--muted); font-size: .82rem; line-height: 1.6; }
.footer-network-link { display: inline-flex; align-items: center; gap: 7px; color: var(--orange); font-size: .8rem; font-weight: 900; text-underline-offset: 4px; }
.footer-network-link:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.footer-link-list { display: flex; flex-wrap: wrap; gap: 8px 16px; }

@media (max-width: 1320px) {
  .nav-toggle { display: inline-flex; }
  #site-nav { display: none; position: absolute; left: 20px; right: 20px; top: 62px; max-height: calc(100vh - 82px); overflow-y: auto; flex-direction: column; align-items: stretch; gap: 2px; border: 1px solid var(--line); border-radius: 16px; background: var(--ink-2); padding: 10px; box-shadow: 0 18px 45px #0008; }
  #site-nav.open { display: flex; }
  #site-nav a { min-height: 44px; padding: 8px 11px; font-size: .86rem; }
}

@media (max-width: 1100px) {
  .nav-toggle { display: inline-flex; }
  #site-nav { display: none; position: absolute; left: 20px; right: 20px; top: 62px; flex-direction: column; align-items: stretch; border: 1px solid var(--line); border-radius: 16px; background: var(--ink-2); padding: 10px; }
  #site-nav.open { display: flex; }
  #site-nav a { min-height: 44px; display: flex; align-items: center; padding: 8px; }
  .route-grid, .card-grid.three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-heading { grid-template-columns: 1fr; align-items: start; gap: 16px; }
  .catalog-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sources li { grid-template-columns: 1fr; gap: 6px; }
  .partner-ad { grid-template-columns: 58px minmax(0, 1fr) auto; }
  .partner-ad-media, .partner-ad-mark { width: 58px; height: 58px; }
  .record-stat-grid, .city-profile { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .record-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .record-controls button { width: 100%; }
  .city-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .track-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .track-key-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tracker-social-wall { max-width: 560px; grid-template-columns: 1fr; margin-inline: auto; }
  .tracker-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tracker-brief-layout { grid-template-columns: 1fr; }
  .tracker-feed-grid { grid-template-columns: 1fr; }
  .historic-feature, .historic-feature--home { grid-template-columns: 1fr; }
  .historic-feature figure { border-top: 1px solid #ffffff1f; border-left: 0; }
  .historic-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .standings-preview { grid-template-columns: 1fr; }
  .schedule-grid { grid-template-columns: 1fr; }
  .schedule-next-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calculator-grid { grid-template-columns: 1fr; }
  .science-figure figcaption { grid-template-columns: minmax(160px, .7fr) minmax(0, 1.3fr); }
  .science-figure figcaption .guide-drawing-standard { grid-column: 2; }
  .garage-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .garage-simulator-layout { grid-template-columns: 1fr; }
  .garage-danger-zone { grid-template-columns: 1fr; }
  .garage-danger-form { border-top: 1px solid #ff756b4d; border-left: 0; padding: 20px 0 0; }
}

@media (max-width: 820px) {
  .guide-field-grid { grid-template-columns: 1fr; }
  .guide-field-grid article { border-top: 1px solid #ffffff1d; border-left: 0; }
  .guide-field-grid article:first-child { border-top: 0; }
  .guide-decision-grid { grid-template-columns: 1fr; }
  .tracker-command-header { grid-template-columns: 1fr; align-items: start; }
  .tracker-health { min-height: 0; align-content: start; }
  .tracker-review-state { align-items: stretch; flex-direction: column; }
  .tracker-review-state button { align-self: flex-start; }
  .tracker-intelligence-grid { grid-template-columns: 1fr; }
  .tracker-intelligence-heading, .tracker-desk-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .tracker-intelligence-heading > p, .tracker-desk-heading > p { max-width: 620px; }
}

@media (min-width: 681px) and (max-width: 1100px) {
  .tracker-story-card { display: grid; grid-template-columns: minmax(250px, .82fr) minmax(0, 1.35fr); }
  .tracker-story-media { height: 100%; min-height: 270px; aspect-ratio: auto; border-right: 1px solid #ffffff20; border-bottom: 0; }
  .tracker-story-body { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (max-width: 560px) {
  main { width: min(100% - 28px, 1120px); padding-top: 32px; }
  .breadcrumbs { margin-bottom: 30px; }
  .grid, .card-grid, .card-grid.three, .route-grid, .related-grid, .setup-learning-grid, .worked-example-grid, .lab-variable-list, .failure-grid, .partner-directory-grid, .garage-auth-grid, .garage-form-grid, .garage-experiment-list, .garage-scout-editor-grid, .garage-loading-bay, .garage-game-stage, .historic-crowd-stats, .historic-gallery, footer { grid-template-columns: 1fr; }
  .catalog-controls, .product-grid { grid-template-columns: 1fr; }
  .catalog-controls { gap: 13px; padding: 14px; }
  .catalog-actions { display: grid; grid-template-columns: 1fr; }
  .catalog-actions button { width: 100%; }
  .catalog-status { font-size: .82rem; }
  .product-card-body { padding: 16px; }
  h1 { font-size: clamp(2.8rem, 17vw, 4.8rem); }
  .page-hero { padding-bottom: 42px; }
  section { padding: 42px 0; }
  .partner-placement { margin-top: 40px; }
  .partner-ad { grid-template-columns: 50px minmax(0, 1fr); gap: 11px; padding: 10px 11px 10px 10px; }
  .partner-ad-media, .partner-ad-mark { width: 50px; height: 50px; }
  .partner-ad-copy > p:not(.kicker, .partner-ad-disclosure) { display: none; }
  .partner-ad-copy h3 { font-size: .92rem; }
  .partner-ad-copy .partner-ad-disclosure { font-size: .6rem; line-height: 1.3; }
  .partner-ad-cta { grid-column: 2; justify-self: start; min-height: 32px; padding: 6px 9px; }
  .record-stat-grid, .city-profile, .record-controls, .city-grid, .track-grid, .track-key-grid, .schedule-controls { grid-template-columns: 1fr; }
  .record-stat-grid > div { min-height: 100px; }
  .record-controls { padding: 14px; }
  .city-card-meta, .standings-heading { align-items: flex-start; flex-direction: column; }
  .city-card-meta span:last-child { text-align: left; }
  .track-card-heading, .track-card-meta { align-items: flex-start; flex-direction: column; }
  .track-photo-pending { min-height: 238px; }
  .tracker-command-center::before { inset-inline: -10px; border-radius: 22px; }
  .tracker-command-header h2 { font-size: 2.2rem; }
  .tracker-review-state > div { grid-template-columns: auto minmax(0, 1fr); }
  .tracker-review-state span { grid-column: 1 / -1; }
  .tracker-review-state strong { font-size: 1.35rem; }
  .tracker-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tracker-kpi-grid > div { min-height: 105px; }
  .tracker-brief-list li { grid-template-columns: 1fr; gap: 5px; padding-left: 36px; }
  .tracker-brief-list li > p { grid-column: auto; }
  .tracker-control-search { grid-column: auto; }
  .tracker-controls { gap: 11px; }
  .tracker-rank-list button { padding-inline: 15px; }
  .tracker-story-meta { align-items: flex-start; flex-direction: column; }
  .tracker-story-source a { margin-left: 0; }
  .tracker-story-media { aspect-ratio: 16 / 10; }
  .tracker-story-body { padding: 17px; }
  .tracker-social-stage { border-radius: 18px; padding: 16px 12px; }
  .tracker-social-stage-copy { align-items: stretch; flex-direction: column; gap: 16px; }
  .tracker-newsroom-cta { min-width: 0; }
  .tracker-social-feed-header { min-height: 0; align-items: stretch; flex-direction: column; }
  .tracker-social-feed-header > a { align-self: flex-start; }
  .tracker-social-frame { height: 700px; }
  .schedule-card { grid-template-columns: 74px minmax(0, 1fr); }
  .schedule-browser-heading { align-items: flex-start; flex-direction: column; }
  .schedule-next-grid { grid-template-columns: 1fr; }
  .schedule-date { padding: 15px 6px; }
  .schedule-date-day { font-size: 1.9rem; }
  .schedule-card-body { padding: 16px; }
  .schedule-source-row { flex-direction: column; gap: 6px; }
  .lab-input-grid { grid-template-columns: 1fr; }
  .lab-variable-list > div { grid-template-columns: 72px minmax(0, 1fr); border-bottom: 1px solid #ffffff18 !important; }
  .lab-variable-list > div:last-child { border-bottom: 0 !important; }
  .science-figure figcaption { grid-template-columns: 1fr; gap: 7px; }
  .science-figure figcaption .guide-drawing-standard { grid-column: auto; margin-top: 5px; }
  .precision-diagram { height: 500px; }
  .precision-diagram[data-guide-diagram="crossbind"], .precision-diagram[data-guide-diagram="spindle-alignment"], .precision-diagram[data-guide-diagram="aerodynamics"] { height: 690px; }
  .precision-diagram[data-guide-diagram="wind-tunnel"] { height: 690px; }
  .precision-diagram[data-guide-diagram="alignment-clinic"] { height: 780px; }
  .garage-app-status { top: auto; border-radius: 13px; }
  .garage-dashboard-header { align-items: flex-start; flex-direction: column; }
  .garage-jump-nav { top: 69px; }
  .garage-panel { padding: 17px; }
  .garage-input-row, .garage-stats-controls, .garage-stat-grid, .garage-physics-grid, .garage-sim-metrics { grid-template-columns: 1fr; }
  .garage-field-wide, .garage-form-grid > h3 { grid-column: auto; }
  .garage-loading-copy, .garage-game-copy { padding: 22px; }
  .garage-coach-portrait, .garage-game-stage img { min-height: 260px; }
  .garage-coach-bubble::before, .garage-speech::before { left: 30px; top: -13px; transform: rotate(135deg); }
}

@media (max-width: 420px) {
  .partner-ad { grid-template-columns: 44px minmax(0, 1fr); }
  .partner-ad-mark, .partner-ad-media { width: 44px; height: 44px; }
  .partner-brand-icon { width: 23px; height: 23px; }
  .partner-ad-cta { grid-column: 2; width: auto; white-space: normal; text-align: left; }
}

@media print {
  :root { color-scheme: light; background: #fff; color: #000; }
  body { background: #fff; color: #000; }
  .site-header, footer, .partner-ad, .nav-toggle, .lab-calculator button, .garage-app-status, .garage-jump-nav, .garage-form-actions, .garage-auth, .tracker-social-stage { display: none !important; }
  main, article, article.wide-page { width: 100%; max-width: none; margin: 0; padding: 0; }
  section, .science-figure, .worked-example, .lab-calculator, .guide-field-sheet, .guide-field-grid article, .guide-decision-grid article { break-inside: avoid; }
  p, li, .science-figure figcaption span, .lab-variable-list dd, .failure-grid span, .setup-learning-grid small { color: #222; }
  h1, h2, h3, strong, .science-figure figcaption strong { color: #000; }
  .science-figure, .diagram-stage, .science-figure figcaption, .lab-calculator, .worked-example, .setup-learning-grid a, .guide-field-sheet, .guide-field-grid, .guide-field-grid article, .guide-decision-grid article { border-color: #555; background: #fff; color: #000; box-shadow: none; }
  .diagram-stage { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .guide-field-actions { display: none; }
  .lab-output, .lab-calculator input { border-color: #555; background: #fff; color: #000; }
  a { color: #000; text-decoration: underline; }
}
/* Source-backed racer profiles */
.racer-browser .record-controls {
  align-items: end;
  grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(160px, 1fr));
}

.racer-directory-table th[scope="row"] {
  min-width: 14rem;
  color: var(--paper);
  font-size: 0.95rem;
  letter-spacing: normal;
  text-transform: none;
}

.racer-directory-table td:last-child {
  min-width: 13rem;
}

.record-limit {
  display: block;
  width: fit-content;
  margin-top: 0.4rem;
  color: #ffc28f;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.racer-claim-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(13rem, auto);
  gap: 1.5rem;
  align-items: center;
  margin: 0 0 2rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(20, 45, 62, 0.16);
  border-left: 0.4rem solid #c64b25;
  border-radius: 1rem;
  background: linear-gradient(135deg, #fff 0%, #f5f1e8 100%);
  box-shadow: 0 1rem 2.5rem rgba(16, 24, 32, 0.08);
}

.racer-claim-panel h2,
.racer-claim-panel p {
  margin-top: 0;
}

.racer-claim-panel,
.racer-claim-panel h2,
.racer-claim-panel h3,
.racer-claim-panel p,
.racer-claim-panel strong {
  color: #1b2b36;
}

.racer-claim-panel p:last-child {
  margin-bottom: 0;
}

.racer-claim-action {
  display: grid;
  gap: 0.8rem;
  justify-items: stretch;
}

.racer-claim-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.55rem 0.8rem;
  border: 1px solid rgba(20, 45, 62, 0.2);
  border-radius: 999px;
  background: #fff;
  color: #283947;
  font-size: 0.82rem;
  font-weight: 800;
  text-align: center;
}

.racer-claim-badge[data-state="claimed"] {
  border-color: #277548;
  background: #e8f5ed;
  color: #164b2d;
}

.racer-claim-badge[data-state="pending"] {
  border-color: #a66d10;
  background: #fff4d8;
  color: #694407;
}

.racer-claim-badge[data-state="unavailable"] {
  border-color: #8b5c5c;
  background: #f7eded;
  color: #603737;
}

.racer-claim-limited {
  border-left-color: #8f7347;
}

.racer-profile-records td:nth-child(5),
.racer-profile-records td:nth-child(6) {
  min-width: 10rem;
}

/* Source-backed racer feature shared by the Hadano city page and racer profile. */
.racer-story {
  overflow: hidden;
  border: 1px solid #344854;
  border-top: 7px solid #c83a2d;
  border-radius: 4px 4px 22px 4px;
  background:
    radial-gradient(circle at 92% 4%, rgb(240 198 70 / 18%), transparent 24rem),
    linear-gradient(145deg, #22343e, #111b21 72%);
  color: #f5f1e7;
  padding: clamp(24px, 5vw, 52px);
  box-shadow: 0 22px 52px rgb(23 33 39 / 18%);
}

.racer-story-lede {
  display: grid;
  grid-template-columns: minmax(112px, 150px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(22px, 4vw, 44px);
}

.racer-story-number {
  display: grid;
  place-items: center;
  min-height: 150px;
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 3px 3px 18px 3px;
  background: #0d161c;
  padding: 18px;
  text-align: center;
}

.racer-story-number span,
.racer-story-number small {
  color: #ffc18f;
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.site-page .racer-story-number strong {
  margin: 8px 0;
  color: #ffe082;
  font: 950 clamp(3.3rem, 7vw, 5.3rem)/.82 "Bahnschrift Condensed", "Arial Narrow", sans-serif;
  letter-spacing: -.04em;
}

.site-page .racer-story .racer-story-japanese {
  margin: 0 0 8px;
  color: #ffe082;
  font-size: clamp(1.35rem, 3vw, 2rem);
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1.2;
}

.site-page .racer-story .lead,
.site-page .racer-story-lede > .lead {
  margin: 0;
  color: #edf2ef;
  font-size: clamp(1.08rem, 2vw, 1.3rem);
  line-height: 1.68;
}

.racer-story-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 32px 0;
}

.racer-story-stats > div {
  min-width: 0;
  border: 1px solid rgb(255 255 255 / 16%);
  background: rgb(255 255 255 / 6%);
  padding: 16px;
}

.racer-story-stats strong,
.racer-story-stats span {
  display: block;
}

.site-page .racer-story-stats strong {
  color: #ffe082;
  font-size: clamp(1.45rem, 3vw, 2.25rem);
  line-height: 1;
  letter-spacing: -.03em;
}

.racer-story-stats span {
  margin-top: 8px;
  color: #cbd4cf;
  font-size: .68rem;
  font-weight: 850;
  line-height: 1.35;
  text-transform: uppercase;
}

.racer-story-chapters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgb(255 255 255 / 18%);
  border-bottom: 1px solid rgb(255 255 255 / 18%);
}

.racer-story-chapters article {
  min-width: 0;
  padding: 25px 22px 25px 0;
}

.racer-story-chapters article + article {
  border-left: 1px solid rgb(255 255 255 / 18%);
  padding-left: 22px;
}

.site-page .racer-story-chapters h3 {
  margin: 0 0 12px;
  color: #f5f1e7;
  font-size: 1.1rem;
  line-height: 1.25;
}

.site-page .racer-story-chapters p {
  margin: 0;
  color: #cbd4cf;
  font-size: .9rem;
  line-height: 1.65;
}

.racer-story-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.site-page .racer-story .primary-cta {
  border-color: #c83a2d;
  background: #c83a2d;
  color: #fff;
}

.site-page .racer-story .primary-cta:hover {
  border-color: #f0c646;
  background: #f0c646;
  color: #172127;
}

.site-page .racer-story .secondary-cta {
  border-color: #a9d7e9;
  color: #d9edf5;
}

.site-page .racer-story .secondary-cta:hover {
  border-color: #ffe082;
  color: #ffe082;
}

.site-page .racer-story-facebook-note {
  margin: 12px 0 0;
  color: #aebcb5;
}

.site-page .racer-story .racer-story-location-note {
  margin: 24px 0 0;
  border-left-color: #f0c646;
  background: rgb(240 198 70 / 12%);
  color: #e6ece8;
}

.site-page .racer-story .racer-story-location-note strong { color: #ffe082; }

.racer-story-sources {
  margin-top: 20px;
  border-top: 1px solid rgb(255 255 255 / 18%);
  padding-top: 18px;
}

.racer-story-sources summary {
  width: fit-content;
  color: #d9edf5;
  font-size: .8rem;
  font-weight: 900;
  cursor: pointer;
  text-underline-offset: 3px;
}

.racer-story-sources > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.racer-story-sources a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 1px solid rgb(255 255 255 / 15%);
  background: rgb(255 255 255 / 5%);
  color: #f5f1e7;
  padding: 11px 12px;
  text-decoration: none;
}

.racer-story-sources a:hover,
.racer-story-sources a:focus-visible {
  border-color: #f0c646;
  background: rgb(240 198 70 / 10%);
}

.racer-story-sources a > span {
  color: #ffc18f;
  font-size: .68rem;
  font-weight: 950;
}

.racer-story-sources a > strong {
  color: #f5f1e7;
  font-size: .78rem;
  line-height: 1.35;
}

.racer-story-title-separator { color: #a92f26; }

.garage-claim-intent {
  margin: 1rem 0 1.5rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(198, 75, 37, 0.3);
  border-radius: 0.75rem;
  background: #fff4e8;
  color: #56331e;
}

.garage-claim-intent strong {
  color: #3d2517;
}

.garage-claim-target {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin: 1rem 0;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(20, 45, 62, 0.14);
  border-radius: 0.9rem;
  background: #f7f4ec;
}

.garage-claim-target h3 {
  margin: 0.55rem 0 0.35rem;
}

.garage-claim-target p {
  margin: 0;
}

.garage-claim-target,
.garage-claim-target h3,
.garage-claim-target p,
.garage-claim-target strong {
  color: #1b2b36;
}

.garage-claim-target .tag {
  border-color: rgba(20, 45, 62, 0.25);
  color: #354a58;
}

.garage-claim-history {
  margin-top: 1.5rem;
}

.garage-claim-history td:first-child {
  min-width: 12rem;
}

.garage-claim-history td:nth-child(5) {
  min-width: 12rem;
}

.claim-status-approved {
  background: #e8f5ed;
  color: #164b2d;
}

.claim-status-pending {
  background: #fff4d8;
  color: #694407;
}

.claim-status-rejected,
.claim-status-cancelled,
.claim-status-revoked {
  background: #f1ece7;
  color: #654c3b;
}

@media (max-width: 760px) {
  .racer-claim-panel {
    grid-template-columns: 1fr;
  }

  .racer-claim-action {
    justify-items: stretch;
  }

  .garage-claim-target {
    grid-template-columns: 1fr;
  }

  .racer-browser .record-controls {
    grid-template-columns: 1fr;
  }

  .racer-story-lede {
    grid-template-columns: 100px minmax(0, 1fr);
  }

  .racer-story-number {
    min-height: 112px;
    padding: 12px;
  }

  .racer-story-number strong { font-size: 3.3rem; }
  .racer-story-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .racer-story-chapters { grid-template-columns: 1fr; }
  .racer-story-chapters article { padding: 22px 0; }
  .racer-story-chapters article + article {
    border-top: 1px solid rgb(255 255 255 / 18%);
    border-left: 0;
    padding-left: 0;
  }
  .racer-story-sources > div { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .racer-story-lede { grid-template-columns: 1fr; }
  .racer-story-number { width: 112px; }
  .racer-story-actions { display: grid; }
  .racer-story-actions a { width: 100%; }
}

/* ========================================================================== */
/* SOAPBOX SPEED LAB 2026 - FINAL TIMING BENCH OVERRIDE LAYER                 */
/* Keep this layer last. It deliberately restyles, but does not replace, the  */
/* established components and data-hook surfaces above.                       */
/* ========================================================================== */

:root {
  color-scheme: light;
  --ink: #172127;
  --ink-2: #223039;
  --paper: #f5f1e7;
  --muted: #5f6d73;
  --line: #c9cdc6;
  --orange: #c83a2d;
  --yellow: #f0c646;
  --red: #c83a2d;
  --blue: #286a8b;
  --ssl-asphalt: #172127;
  --ssl-asphalt-2: #223039;
  --ssl-paper: #f5f1e7;
  --ssl-paper-2: #fffdf8;
  --ssl-red: #c83a2d;
  --ssl-yellow: #f0c646;
  --ssl-blue: #286a8b;
  --ssl-steel: #68767d;
  --ssl-line: #c9cdc6;
  --ssl-shadow: 0 18px 44px rgb(23 33 39 / 12%);
  font-family: "Source Sans 3", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--ssl-paper);
  color: var(--ssl-asphalt);
}

html { background: var(--ssl-paper); }

body.site-page {
  min-width: 320px;
  background:
    linear-gradient(90deg, transparent 0 31px, rgb(200 58 45 / 7%) 31px 32px, transparent 32px),
    var(--ssl-paper);
  color: var(--ssl-asphalt);
}

.site-page main {
  width: min(1180px, calc(100% - 48px));
  padding: 44px 0 88px;
}

.site-page article { max-width: 920px; }
.site-page article.wide-page { max-width: none; }

.site-page h1,
.site-page h2,
.site-page h3,
.brand-lockup,
.home-brand-line,
.record-stat-grid strong,
.race-shop-overview-grid strong {
  font-family: "Bahnschrift Condensed", "Arial Narrow", "Roboto Condensed", "Segoe UI", sans-serif;
  font-stretch: condensed;
}

.site-page h1,
.site-page h2,
.site-page h3,
.site-page strong { color: var(--ssl-asphalt); }

.site-page h1 {
  max-width: 1000px;
  font-size: clamp(3.25rem, 5.2vw, 4.5rem);
  line-height: .88;
  letter-spacing: -.055em;
}

.site-page h2 {
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: .98;
  letter-spacing: -.035em;
}

.site-page p,
.site-page li { color: #39484f; }
.site-page .lead { color: var(--ssl-asphalt); }
.site-page .eyebrow,
.site-page .kicker { color: var(--ssl-red); }

.site-page section {
  border-color: var(--ssl-line);
  scroll-margin-top: 96px;
}

.site-page .breadcrumbs {
  margin-bottom: 42px;
  color: var(--ssl-steel);
}

.site-page .breadcrumbs a:hover,
.site-page .breadcrumbs a:focus-visible { color: var(--ssl-red); }

.page-interior .page-hero {
  position: relative;
  max-width: 1040px;
  padding: 12px 0 64px;
}

.page-interior .page-hero::after {
  content: "";
  display: block;
  width: min(170px, 28vw);
  height: 5px;
  margin-top: 34px;
  background: linear-gradient(90deg, var(--ssl-red) 0 58%, var(--ssl-yellow) 58% 78%, var(--ssl-blue) 78%);
}

.site-page .page-hero-label { gap: 12px; }
.site-page .page-hero-icon {
  border-color: rgb(200 58 45 / 34%);
  border-radius: 4px 4px 12px 4px;
  background: rgb(200 58 45 / 8%);
  color: var(--ssl-red);
}

.site-page .intro { color: #45555d; }
.site-page .status-line span,
.site-page .tag {
  border-color: #b9beb8;
  background: rgb(255 253 248 / 72%);
  color: #44545b;
}

.site-page .note,
.site-page .warning {
  border-left-color: var(--ssl-blue);
  background: rgb(40 106 139 / 7%);
  color: #34464e;
}

.site-page .warning {
  border-left-color: #b48600;
  background: rgb(240 198 70 / 14%);
}

.site-page .formula {
  border-color: #bfc5bf;
  background: var(--ssl-asphalt);
  color: #ffe682;
}

.site-page .card,
.site-page .route-grid a,
.site-page .related,
.site-page .related-grid a,
.site-page .city-card,
.site-page .record-stat-grid > div,
.site-page .setup-learning-grid a,
.site-page .worked-example,
.site-page .lab-calculator,
.site-page .guide-field-sheet {
  border-color: #c4c9c3;
  background: var(--ssl-paper-2);
  color: var(--ssl-asphalt);
  box-shadow: 0 10px 26px rgb(23 33 39 / 7%);
}

.site-page .card p,
.site-page .route-grid p,
.site-page .related p,
.site-page .city-card p { color: #4d5d64; }

.site-page .route-grid a {
  min-height: 138px;
  border-radius: 4px 4px 15px 4px;
  border-left: 4px solid var(--ssl-blue);
}

.site-page .route-grid a:hover,
.site-page .route-grid a:focus-visible {
  border-color: var(--ssl-red);
  border-left-color: var(--ssl-red);
  box-shadow: 0 16px 34px rgb(23 33 39 / 12%);
}

.site-page .route-card-icon,
.site-page .related-card-icon {
  border-color: rgb(40 106 139 / 30%);
  border-radius: 4px 4px 12px 4px;
  background: rgb(40 106 139 / 8%);
  color: var(--ssl-blue);
}

.site-page .route-card-content > span,
.site-page .related-card-kicker,
.site-page .snapshot th { color: var(--ssl-blue); }
.site-page .route-card-arrow,
.site-page .related-card-arrow { color: var(--ssl-steel); }

.site-page .table-wrap {
  border: 1px solid #c4c9c3;
  background: var(--ssl-paper-2);
  box-shadow: 0 10px 28px rgb(23 33 39 / 7%);
}

.site-page .snapshot th,
.site-page .snapshot td { border-color: #d1d4cf; }
.site-page .snapshot td { color: #3f5057; }
.site-page .snapshot tbody tr:nth-child(even) { background: rgb(23 33 39 / 2.5%); }
.site-page .snapshot a { color: #9f2b22; }

.site-page .primary-cta,
.site-page .secondary-cta {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--ssl-red);
  border-radius: 4px 4px 13px 4px;
  background: var(--ssl-red);
  color: #fff;
  padding: 11px 17px;
  font-size: .86rem;
  font-weight: 900;
  text-decoration: none;
}

.site-page .primary-cta:hover { background: #a92f26; }
.site-page .secondary-cta {
  border-color: rgb(255 255 255 / 50%);
  background: transparent;
  color: #fff;
}
.site-page .secondary-cta:hover { border-color: var(--ssl-yellow); color: var(--ssl-yellow); }

/* Header and grouped primary navigation */
.site-header {
  min-height: 76px;
  gap: 28px;
  padding: 11px max(24px, calc((100vw - 1240px) / 2));
  border-bottom: 4px solid var(--ssl-red);
  background: rgb(23 33 39 / 97%);
  box-shadow: 0 8px 28px rgb(0 0 0 / 18%);
  backdrop-filter: blur(16px);
}

.brand { gap: 11px; color: #fff; }
.brand:hover .brand-lockup span { color: var(--ssl-yellow); }
.brand-mark {
  position: relative;
  width: 48px;
  height: 48px;
  overflow: hidden;
  border: 0;
  border-radius: 3px 3px 14px 3px;
  background: var(--ssl-red);
  color: #fff;
  box-shadow: inset 0 -4px 0 rgb(0 0 0 / 16%);
}

.brand-mark > span {
  position: relative;
  z-index: 2;
  font: 950 1.5rem/1 "Bahnschrift Condensed", "Arial Narrow", sans-serif;
}

.brand-mark > i {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 7px;
  height: 2px;
  background: #fff;
}

.brand-mark > i::before,
.brand-mark > i::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 7px;
  height: 7px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--ssl-red);
  transform: translateY(-50%);
}
.brand-mark > i::before { left: -1px; }
.brand-mark > i::after { right: -1px; }

.brand-lockup { display: grid; line-height: .9; letter-spacing: .01em; text-transform: uppercase; }
.brand-lockup strong { color: #fff; font-size: 1.07rem; letter-spacing: .055em; }
.brand-lockup span { color: #a8d1e2; font-size: .78rem; font-weight: 900; letter-spacing: .15em; transition: color .15s ease; }

#site-nav { gap: 4px; }
.nav-group { position: relative; }
.nav-group summary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 4px;
  color: #e9ede9;
  padding: 8px 10px;
  font-size: .79rem;
  font-weight: 850;
  list-style: none;
  cursor: pointer;
  user-select: none;
}
.nav-group summary::-webkit-details-marker { display: none; }
.nav-group summary:hover,
.nav-group summary:focus-visible,
.nav-group[open] summary,
.nav-group-current summary { background: rgb(255 255 255 / 9%); color: var(--ssl-yellow); }
.nav-group-icon { width: 17px; height: 17px; }
.nav-group-chevron { width: 13px; height: 13px; transition: transform .15s ease; }
.nav-group[open] .nav-group-chevron { transform: rotate(180deg); }

.nav-group-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 245px;
  display: grid;
  gap: 3px;
  border: 1px solid rgb(255 255 255 / 16%);
  border-top: 4px solid var(--ssl-red);
  border-radius: 4px 4px 14px 4px;
  background: #1e2b33;
  padding: 9px;
  box-shadow: 0 18px 42px rgb(0 0 0 / 34%);
}

#site-nav .nav-group-menu a {
  min-height: 42px;
  border-radius: 3px;
  padding: 9px 10px;
  font-size: .82rem;
}

#site-nav .nav-group-menu a:hover,
#site-nav .nav-group-menu a:focus-visible,
#site-nav .nav-group-menu a[aria-current="page"] { background: rgb(255 255 255 / 8%); color: var(--ssl-yellow); }

#site-nav > .race-shop-nav-link {
  min-height: 44px;
  margin-left: 5px;
  border: 1px solid #e96054;
  border-radius: 4px 4px 13px 4px;
  background: var(--ssl-red);
  color: #fff;
  padding: 8px 13px;
  font-size: .8rem;
}
#site-nav > .race-shop-nav-link:hover,
#site-nav > .race-shop-nav-link:focus-visible { border-color: var(--ssl-yellow); background: #a92f26; color: #fff; }

.nav-toggle {
  border-color: rgb(255 255 255 / 38%);
  border-radius: 4px 4px 12px 4px;
  color: #fff;
}

/* Homepage: one race story, not a directory wall */
.page-home main {
  width: 100%;
  padding: 0 0 92px;
}
.page-home .home-page { max-width: none; }
.home-page > section,
.home-page > .partner-placement,
.home-hero {
  width: min(1240px, calc(100% - 48px));
  margin-inline: auto;
}

.home-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(390px, .97fr);
  gap: clamp(28px, 5vw, 70px);
  overflow: hidden;
  margin-top: 28px;
  border: 1px solid #31434c;
  border-top: 7px solid var(--ssl-red);
  border-radius: 4px 4px 28px 4px;
  background: var(--ssl-asphalt);
  padding: clamp(32px, 5vw, 66px) clamp(26px, 5vw, 64px) 0;
  box-shadow: 0 26px 70px rgb(23 33 39 / 24%);
}

.home-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(118deg, rgb(200 58 45 / 14%), transparent 35%),
    repeating-linear-gradient(90deg, transparent 0 92px, rgb(255 255 255 / 2.5%) 92px 93px);
  pointer-events: none;
}

.home-hero-copy { align-self: center; min-width: 0; padding-bottom: 46px; }
.home-hero .page-hero-icon { border-color: rgb(240 198 70 / 40%); background: rgb(240 198 70 / 8%); color: var(--ssl-yellow); }
.home-hero .eyebrow { color: #b7c3c8; }
.home-brand-line {
  margin: 30px 0 8px;
  color: var(--ssl-yellow);
  font-size: .86rem;
  font-weight: 950;
  letter-spacing: .23em;
  text-transform: uppercase;
}
.home-hero h1 { max-width: 690px; margin: 0 0 24px; color: #fff; }
.home-hero .intro { max-width: 650px; margin: 0; color: #d3dadd; }
.home-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 30px; }
.home-hero-race-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  color: #b6d8e7;
  font-size: .84rem;
  font-weight: 850;
  text-underline-offset: 4px;
}
.home-hero-race-link:hover { color: var(--ssl-yellow); }

.home-hero-visual {
  align-self: center;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgb(255 255 255 / 22%);
  border-radius: 3px 3px 20px 3px;
  background: #0d1519;
  transform: rotate(1deg);
}
.home-hero-visual img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; filter: saturate(.78) contrast(1.08); }
.home-hero-visual figcaption {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 16px;
  border-top: 3px solid var(--ssl-yellow);
  padding: 13px 15px;
  color: #d5dcdf;
  font-size: .7rem;
  line-height: 1.4;
}
.home-hero-visual figcaption strong { color: #fff; }
.home-hero-visual figcaption span { grid-column: 1; }
.home-hero-visual figcaption a { grid-column: 2; grid-row: 1 / 3; align-self: center; color: #a9d4e6; font-weight: 850; }

.home-proof-bar {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-inline: calc(clamp(26px, 5vw, 64px) * -1);
  border-top: 1px solid rgb(255 255 255 / 16%);
  background: rgb(0 0 0 / 15%);
}
.home-proof-bar span { display: grid; gap: 4px; border-left: 1px solid rgb(255 255 255 / 13%); padding: 18px clamp(18px, 4vw, 42px); color: #b9c4c8; font-size: .74rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.home-proof-bar span:first-child { border-left: 0; }
.home-proof-bar strong { color: var(--ssl-yellow); font-size: 1.45rem; letter-spacing: -.02em; }

.home-page > section { padding: clamp(66px, 8vw, 104px) 0; }
.home-section-heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr); align-items: end; gap: 30px; margin-bottom: 30px; }
.home-section-heading h2 { max-width: 760px; margin-bottom: 0; }
.home-section-heading > p { max-width: 560px; margin: 0; color: #506067; }

.home-task-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.home-task-grid a {
  min-height: 285px;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 14px;
  border: 1px solid #c5cac3;
  border-top: 5px solid var(--ssl-red);
  border-radius: 3px 3px 17px 3px;
  background: var(--ssl-paper-2);
  padding: 24px;
  color: var(--ssl-asphalt);
  text-decoration: none;
  box-shadow: 0 12px 28px rgb(23 33 39 / 7%);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.home-task-grid a:nth-child(2) { border-top-color: var(--ssl-blue); }
.home-task-grid a:nth-child(3) { border-top-color: #b58a08; }
.home-task-grid a:nth-child(4) { border-top-color: var(--ssl-asphalt); }
.home-task-grid a:hover,
.home-task-grid a:focus-visible { transform: translateY(-4px); border-color: var(--ssl-red); box-shadow: var(--ssl-shadow); }
.home-task-grid a > span { color: var(--ssl-red); font: 950 1.8rem/1 "Bahnschrift Condensed", "Arial Narrow", sans-serif; }
.home-task-grid a:nth-child(2) > span { color: var(--ssl-blue); }
.home-task-grid a:nth-child(3) > span { color: #9a7300; }
.home-task-grid a:nth-child(4) > span { color: var(--ssl-asphalt); }
.home-task-grid strong { font-size: 1.28rem; line-height: 1.12; }
.home-task-grid p { margin: 0; color: #526169; font-size: .89rem; line-height: 1.58; }
.home-task-grid b { color: var(--ssl-red); font-size: .77rem; letter-spacing: .06em; text-transform: uppercase; }

.home-race-board {
  border: 0;
  border-radius: 4px 4px 24px 4px;
  background: var(--ssl-blue);
  padding-inline: clamp(24px, 5vw, 58px) !important;
  color: #fff;
  box-shadow: var(--ssl-shadow);
}
.home-race-board .kicker { color: #ffe788; }
.home-race-board h2,
.home-race-board strong { color: #fff; }
.home-race-board .home-section-heading > p { color: #d9e8ee; }
.home-race-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-race-grid a {
  min-height: 128px;
  border-color: rgb(255 255 255 / 22%);
  border-left-color: var(--ssl-yellow);
  background: rgb(13 42 55 / 28%);
  box-shadow: none;
}
.home-race-grid a:hover,
.home-race-grid a:focus-visible { border-color: var(--ssl-yellow); background: rgb(13 42 55 / 42%); }
.home-race-grid .route-card-icon { border-color: rgb(255 255 255 / 24%); background: rgb(255 255 255 / 8%); color: #fff; }
.home-race-grid .route-card-content > span { color: #bfe1ef; }
.home-race-grid .route-card-arrow { color: #c8dde5; }

.home-speed-chain {
  display: grid;
  grid-template-columns: minmax(270px, .7fr) minmax(0, 1.3fr);
  gap: clamp(35px, 7vw, 90px);
  align-items: center;
}
.home-speed-chain-copy p { max-width: 560px; }
.home-chain-list { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.home-chain-list::before { content: ""; position: absolute; left: 23px; top: 24px; bottom: 24px; width: 3px; background: linear-gradient(var(--ssl-red), var(--ssl-yellow), var(--ssl-blue)); }
.home-chain-list li { position: relative; display: grid; grid-template-columns: 48px 150px minmax(0, 1fr); align-items: center; gap: 18px; margin: 0; border-top: 1px solid #c8ccc7; padding: 19px 0; }
.home-chain-list li:first-child { border-top: 0; }
.home-chain-list li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 48px; height: 48px; border: 3px solid var(--ssl-paper); border-radius: 50%; background: var(--ssl-asphalt); color: #fff; font-weight: 950; }
.home-chain-list strong { font-size: 1.25rem; }
.home-chain-list small { color: #526169; font-size: .86rem; line-height: 1.45; }

.home-race-shop {
  display: grid;
  grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr);
  gap: 0;
  overflow: hidden;
  border: 0;
  border-radius: 4px 4px 26px 4px;
  background: var(--ssl-asphalt);
  padding: 0 !important;
  box-shadow: 0 24px 56px rgb(23 33 39 / 19%);
}
.home-race-shop-visual { min-height: 520px; }
.home-race-shop-visual img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.9) contrast(1.04); }
.home-race-shop-copy { align-self: center; padding: clamp(32px, 6vw, 72px); }
.home-race-shop .kicker { color: var(--ssl-yellow); }
.home-race-shop h2,
.home-race-shop strong { color: #fff; }
.home-race-shop p { color: #c9d2d5; }
.home-shop-preview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 28px 0; background: rgb(255 255 255 / 16%); }
.home-shop-preview span { display: grid; gap: 5px; background: #202e36; padding: 15px; color: #aebbc0; font-size: .75rem; }
.home-shop-preview strong { color: #fff; font-size: .88rem; }

.home-history { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: clamp(30px, 6vw, 74px); align-items: center; }
.home-history figure { overflow: hidden; margin: 0; border-radius: 3px 3px 20px 3px; background: var(--ssl-asphalt); box-shadow: var(--ssl-shadow); }
.home-history figure img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; filter: sepia(.12) contrast(1.06); }
.home-history figcaption { border-top: 4px solid var(--ssl-red); padding: 13px 16px; color: #d4dbde; font-size: .72rem; line-height: 1.45; }
.home-history-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 26px; }
.home-history-links a { border-bottom: 1px solid #bdc3bd; color: var(--ssl-blue); padding: 10px 2px; font-size: .84rem; font-weight: 850; text-underline-offset: 4px; }

.home-resource-desk .route-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-resource-desk .route-grid a { min-height: 126px; }

.home-tool-shelf {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
  gap: 40px;
  align-items: center;
  border: 1px solid #c8ccc6 !important;
  border-left: 7px solid var(--ssl-yellow) !important;
  background: rgb(255 253 248 / 80%);
  padding: clamp(28px, 5vw, 50px) !important;
}
.home-tool-shelf h2 { margin-bottom: 10px; }
.home-tool-shelf p { margin-bottom: 0; }
.home-tool-links { display: grid; gap: 9px; }
.home-tool-links a { display: grid; gap: 4px; border: 1px solid #c5cac4; border-radius: 3px 3px 12px 3px; background: #fff; padding: 15px 17px; text-decoration: none; }
.home-tool-links a:hover { border-color: var(--ssl-red); }
.home-tool-links span { color: var(--ssl-steel); font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.home-tool-links strong { font-size: .96rem; }

/* Setup Lab mission picker and technical-guide surfaces */
.setup-mode-picker {
  display: grid;
  grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
  gap: clamp(28px, 6vw, 70px);
  align-items: center;
  margin-bottom: 36px;
  border: 1px solid #c3c8c2;
  border-top: 6px solid var(--ssl-red);
  border-radius: 3px 3px 18px 3px;
  background: var(--ssl-paper-2);
  padding: clamp(25px, 4vw, 42px) !important;
  box-shadow: var(--ssl-shadow);
}
.setup-mode-picker h2 { margin-bottom: 12px; }
.setup-mode-picker > div > p:last-child { margin-bottom: 0; }
.setup-mode-grid { display: grid; gap: 9px; }
.setup-mode-grid a { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; border: 1px solid #c4c9c3; border-left: 5px solid var(--ssl-blue); border-radius: 3px 3px 12px 3px; background: #fff; padding: 15px 17px; color: var(--ssl-asphalt); text-decoration: none; }
.setup-mode-grid a:nth-child(2) { border-left-color: #a97e00; }
.setup-mode-grid a:nth-child(3) { border-left-color: var(--ssl-red); }
.setup-mode-grid a:hover,
.setup-mode-grid a:focus-visible { border-color: var(--ssl-red); transform: translateX(3px); }
.setup-mode-grid span { color: var(--ssl-blue); font-size: .67rem; font-weight: 950; letter-spacing: .08em; }
.setup-mode-grid strong { font-size: 1rem; }
.setup-mode-grid small { color: #58676e; font-size: .78rem; line-height: 1.4; }

.site-page .science-figure,
.site-page .diagram-stage,
.site-page .science-figure figcaption,
.site-page .guide-field-grid,
.site-page .guide-field-grid article,
.site-page .guide-decision-grid article {
  border-color: #c3c8c2;
  background: var(--ssl-paper-2);
  color: var(--ssl-asphalt);
}
.site-page .science-figure { box-shadow: var(--ssl-shadow); }
.site-page .guide-field-grid li,
.site-page .guide-decision-grid p:last-child,
.site-page .guide-authority-note { color: #4d5d64; }
.site-page .guide-authority-note { border-color: #c9cdc7; }
.site-page .guide-authority-note strong { color: var(--ssl-asphalt); }

/* Track atlas: verified imagery is compact; research placeholders disappear. */
.site-page .track-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.site-page .track-card {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  min-height: 210px;
  border-color: #c2c8c2;
  border-radius: 3px 3px 15px 3px;
  background: var(--ssl-paper-2);
  box-shadow: 0 10px 25px rgb(23 33 39 / 7%);
}
.site-page .track-card[data-photo="pending"] { grid-template-columns: 1fr; min-height: 0; }
.site-page .track-photo-pending { display: none !important; }
.site-page .track-photo { height: 100%; border-right: 1px solid #c9cdc7; border-bottom: 0; background: #e8e9e3; }
.site-page .track-photo img { width: 100%; height: 100%; min-height: 210px; aspect-ratio: auto; object-fit: contain; background: #e8e9e3; }
.site-page .track-photo figcaption { min-height: 0; border-top: 3px solid var(--ssl-blue); background: var(--ssl-asphalt); padding: 9px 11px; }
.site-page .track-photo figcaption > span { color: #fff; }
.site-page .track-photo figcaption a { color: #a8d4e6; }
.site-page .track-card-body { padding: 16px 17px; }
.site-page .track-card-meta { color: var(--ssl-steel); }
.site-page .track-card-heading h3 a { color: var(--ssl-asphalt); }
.site-page .track-card-heading h3 a:hover { color: var(--ssl-red); }
.site-page .track-card-links { border-color: #d3d6d1; }
.site-page .track-card-links a { color: #9f2b22; }

/* My Race Shop: persistent task tabs with one focused work surface. */
[data-page-route="/garage/"] .content-page { max-width: none; }
[data-page-route="/garage/"] .garage-app {
  --garage-panel: #223039;
  overflow: clip;
  border: 1px solid #33464f;
  border-top: 7px solid var(--ssl-red);
  border-radius: 4px 4px 24px 4px;
  background: var(--ssl-asphalt);
  padding: clamp(16px, 3vw, 30px);
  color: var(--ssl-paper);
  box-shadow: 0 26px 64px rgb(23 33 39 / 22%);
}

[data-page-route="/garage/"] .garage-app h2,
[data-page-route="/garage/"] .garage-app h3,
[data-page-route="/garage/"] .garage-app strong { color: #fff; }
[data-page-route="/garage/"] .garage-app p,
[data-page-route="/garage/"] .garage-app li { color: #c9d2d5; }
[data-page-route="/garage/"] .garage-app .kicker { color: var(--ssl-yellow); }

.garage-dashboard {
  display: grid;
  grid-template-columns: 205px minmax(0, 1fr);
  align-items: start;
  gap: 0 24px;
}

.garage-dashboard-header {
  grid-column: 1 / -1;
  margin: 0 0 20px;
  border-color: rgb(255 255 255 / 15%);
  padding: 4px 0 22px;
}
.garage-dashboard-header h2 { font-size: clamp(1.8rem, 4vw, 2.7rem); }

.race-shop-nav {
  grid-column: 1;
  position: sticky;
  top: 92px;
  z-index: 10;
  display: grid;
  gap: 4px;
  overflow: visible;
  margin: 0;
  border: 1px solid rgb(255 255 255 / 15%);
  border-radius: 3px 3px 14px 3px;
  background: #111b20;
  padding: 8px;
}
.race-shop-nav a {
  width: 100%;
  justify-content: flex-start;
  border: 0;
  border-left: 4px solid transparent;
  border-radius: 2px;
  color: #c5ced1;
  padding: 11px 10px;
  font-size: .72rem;
  text-transform: none;
}
.race-shop-nav a:hover,
.race-shop-nav a:focus-visible { border-left-color: var(--ssl-blue); background: rgb(255 255 255 / 7%); color: #fff; }
.race-shop-nav a[aria-current="page"] { border-left-color: var(--ssl-yellow); background: rgb(240 198 70 / 11%); color: var(--ssl-yellow); }

.garage-dashboard > [data-race-shop-panel] {
  grid-column: 2;
  min-width: 0;
  margin: 0 0 22px;
  border-top: 0;
  padding: 24px 0 0;
}
.garage-dashboard > [data-race-shop-panel][hidden] { display: none !important; }

.garage-panel {
  border-color: rgb(255 255 255 / 17%);
  border-radius: 3px 3px 16px 3px;
  background: #202e36;
  box-shadow: 0 15px 34px rgb(0 0 0 / 16%);
}
.garage-app input:not([type="checkbox"]):not([type="hidden"]),
.garage-app select,
.garage-app textarea {
  border-color: #6f7f87;
  border-radius: 3px 3px 9px 3px;
  background: #101a1f;
}
.garage-app button { border-radius: 3px 3px 11px 3px; }
.garage-app button.primary-cta { color: #fff; }
.garage-checkbox { border-radius: 3px 3px 9px 3px; }

.garage-game-stage {
  grid-template-columns: minmax(250px, .67fr) minmax(0, 1.33fr);
  overflow: hidden;
  border-color: rgb(240 198 70 / 38%);
  border-radius: 3px 3px 18px 3px;
  background: #101a1f;
  box-shadow: 0 20px 44px rgb(0 0 0 / 22%);
}
.garage-game-stage img { min-height: 540px; }
.garage-game-copy { padding: clamp(23px, 4vw, 42px); }
.garage-speech { border-radius: 3px 3px 14px 3px; }

.race-shop-overview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 20px; }
.race-shop-overview-grid article { min-width: 0; display: grid; gap: 5px; border: 1px solid rgb(255 255 255 / 15%); border-left: 4px solid var(--ssl-blue); background: rgb(255 255 255 / 5%); padding: 14px; }
.race-shop-overview-grid article:nth-child(3) { border-left-color: var(--ssl-yellow); }
.race-shop-overview-grid article:nth-child(4) { border-left-color: var(--ssl-red); }
.race-shop-overview-grid span { color: #aebbc0; font-size: .65rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.race-shop-overview-grid strong { overflow-wrap: anywhere; font-size: 1.12rem; }
.race-shop-overview-grid small { color: #9eabb0; font-size: .72rem; line-height: 1.4; }

.garage-app .table-wrap { border-color: rgb(255 255 255 / 17%); background: #17242b; box-shadow: none; }
.garage-app .snapshot th,
.garage-app .snapshot td { border-color: rgb(255 255 255 / 13%); }
.garage-app .snapshot th { color: #a9d7e9; }
.garage-app .snapshot td { color: #d3dbde; }
.garage-app .snapshot tbody tr:nth-child(even) { background: rgb(255 255 255 / 3%); }

/* Footer and low-priority commerce stay quiet. */
.site-page .partner-placement { margin-top: 54px; }
.site-page .partner-ad {
  border-color: #c4c9c3;
  background: rgb(255 253 248 / 78%);
  box-shadow: none;
}
.site-page .partner-ad-copy h3 { color: var(--ssl-asphalt); }
.site-page .partner-ad-copy > p:not(.kicker) { color: #58676e; }

footer {
  grid-template-columns: minmax(230px, .8fr) minmax(260px, .8fr) minmax(0, 1.4fr);
  gap: 34px;
  border-top: 6px solid var(--ssl-red);
  background: var(--ssl-asphalt);
  color: #fff;
  padding-block: 48px;
}
footer strong { color: #fff; }
footer p,
.footer-brand span { color: #aebbc0; }
.footer-brand > strong { font: 900 1.35rem/1 "Bahnschrift Condensed", "Arial Narrow", sans-serif; text-transform: uppercase; }
.footer-brand p { margin: 8px 0 4px; color: var(--ssl-yellow); font-weight: 850; }
.footer-brand span { font-size: .76rem; line-height: 1.45; }
.footer-link-list { align-content: start; }
.footer-network-link { color: #a9d7e9; }
.footer-legal { margin: 0; }

/* Shared focus language */
.site-page :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--ssl-yellow);
  outline-offset: 3px;
}

@media (min-width: 1101px) {
  .nav-toggle { display: none; }
  #site-nav {
    position: static;
    width: auto;
    max-height: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
    box-shadow: none;
  }
}

@media (max-width: 1100px) {
  #site-nav {
    left: auto;
    right: max(18px, calc((100vw - 1240px) / 2));
    top: 70px;
    width: min(430px, calc(100vw - 36px));
    max-height: calc(100vh - 90px);
    gap: 5px;
    border-color: rgb(255 255 255 / 17%);
    border-top: 4px solid var(--ssl-red);
    border-radius: 3px 3px 16px 3px;
    background: #1b282f;
    padding: 10px;
  }
  .nav-group summary { width: 100%; justify-content: flex-start; }
  .nav-group summary .nav-group-chevron { margin-left: auto; }
  .nav-group-menu {
    position: static;
    min-width: 0;
    margin: 3px 0 8px 24px;
    border: 0;
    border-left: 2px solid rgb(240 198 70 / 48%);
    border-radius: 0;
    background: transparent;
    padding: 2px 0 2px 8px;
    box-shadow: none;
  }
  #site-nav > .race-shop-nav-link { margin: 5px 0 0; }
}

@media (max-width: 1040px) {
  .home-hero { grid-template-columns: 1fr; }
  .home-hero-copy { padding-bottom: 0; }
  .home-hero-visual { transform: none; }
  .home-task-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-task-grid a { min-height: 245px; }
  .home-resource-desk .route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-tool-shelf { grid-template-columns: 1fr; }
  .garage-dashboard { grid-template-columns: 1fr; }
  .race-shop-nav {
    grid-column: 1;
    top: 80px;
    display: flex;
    gap: 5px;
    overflow-x: auto;
    border-radius: 3px 3px 12px 3px;
    scrollbar-width: thin;
  }
  .race-shop-nav a { width: auto; flex: 0 0 auto; border-left: 0; border-bottom: 4px solid transparent; }
  .race-shop-nav a:hover,
  .race-shop-nav a:focus-visible { border-left: 0; border-bottom-color: var(--ssl-blue); }
  .race-shop-nav a[aria-current="page"] { border-left: 0; border-bottom-color: var(--ssl-yellow); }
  .garage-dashboard > [data-race-shop-panel] { grid-column: 1; }
}

@media (max-width: 820px) {
  .site-page main { width: min(100% - 32px, 1180px); padding-top: 32px; }
  .home-page > section,
  .home-page > .partner-placement,
  .home-hero { width: min(100% - 28px, 1240px); }
  .home-hero { margin-top: 14px; padding-inline: 24px; }
  .home-proof-bar { margin-inline: -24px; }
  .home-section-heading,
  .home-speed-chain,
  .home-race-shop,
  .home-history,
  .setup-mode-picker { grid-template-columns: 1fr; }
  .home-section-heading { align-items: start; gap: 14px; }
  .home-race-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-race-shop-visual { min-height: 380px; }
  .home-race-shop-visual img { max-height: 520px; }
  .setup-mode-picker { gap: 22px; }
  .site-page .track-grid { grid-template-columns: 1fr; }
  .garage-game-stage { grid-template-columns: 1fr; }
  .garage-game-stage img { min-height: 290px; max-height: 430px; }
  footer { grid-template-columns: 1fr 1fr; }
  .footer-legal { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  body.site-page { background: var(--ssl-paper); }
  .site-page main { width: min(100% - 28px, 1180px); }
  .site-page h1 { font-size: clamp(2.75rem, 15vw, 4.4rem); }
  .site-page h2 { font-size: clamp(1.8rem, 10vw, 2.65rem); }
  .site-header { min-height: 68px; padding: 9px 14px; }
  .brand-mark { width: 43px; height: 43px; }
  .brand-lockup strong { font-size: .94rem; }
  .brand-lockup span { font-size: .69rem; }
  #site-nav { right: 14px; top: 62px; width: calc(100vw - 28px); }
  .home-hero { padding: 26px 18px 0; }
  .home-hero-copy { padding-bottom: 4px; }
  .home-brand-line { margin-top: 24px; }
  .home-hero h1 { font-size: clamp(3rem, 16vw, 4.6rem); }
  .home-hero-actions { display: grid; }
  .home-hero-actions a { width: 100%; }
  .home-hero-visual figcaption { grid-template-columns: 1fr; }
  .home-hero-visual figcaption a { grid-column: 1; grid-row: auto; }
  .home-proof-bar { grid-template-columns: 1fr; margin-inline: -18px; }
  .home-proof-bar span { border-top: 1px solid rgb(255 255 255 / 12%); border-left: 0; padding: 13px 18px; }
  .home-proof-bar span:first-child { border-top: 0; }
  .home-page > section { padding-block: 58px; }
  .home-task-grid,
  .home-race-grid,
  .home-shop-preview,
  .home-history-links,
  .home-resource-desk .route-grid,
  .race-shop-overview-grid { grid-template-columns: 1fr; }
  .home-task-grid a { min-height: 0; }
  .home-race-board { padding-inline: 18px !important; }
  .home-chain-list li { grid-template-columns: 44px minmax(0, 1fr); gap: 14px; }
  .home-chain-list li > span { width: 44px; height: 44px; }
  .home-chain-list::before { left: 21px; }
  .home-chain-list small { grid-column: 2; }
  .home-race-shop-visual { min-height: 280px; }
  .home-race-shop-copy { padding: 28px 20px 32px; }
  .home-tool-shelf { min-width: 0; padding: 24px 18px !important; }
  .setup-mode-picker { padding: 24px 18px !important; }
  .setup-mode-grid a:hover,
  .setup-mode-grid a:focus-visible { transform: none; }
  .site-page .track-card,
  .site-page .track-card[data-photo="verified"] { grid-template-columns: 1fr; }
  .site-page .track-photo { height: auto; border-right: 0; border-bottom: 1px solid #c9cdc7; }
  .site-page .track-photo img { min-height: 0; max-height: 250px; }
  [data-page-route="/garage/"] .garage-app { padding: 12px; }
  .garage-dashboard-header { align-items: flex-start; }
  .race-shop-nav { top: 68px; margin-inline: -4px; }
  .race-shop-nav a { min-height: 42px; padding: 9px; }
  .garage-dashboard > [data-race-shop-panel] { padding-top: 18px; }
  .garage-game-copy { padding: 20px 16px; }
  footer { grid-template-columns: 1fr; padding-inline: 20px; }
  .footer-legal { grid-column: auto; }
}

@media (max-width: 360px) {
  .site-header { gap: 8px; }
  .brand { gap: 7px; }
  .brand-lockup strong { font-size: .84rem; }
  .brand-lockup span { font-size: .61rem; }
  .nav-toggle { padding-inline: 10px; }
  .nav-toggle span { font-size: .75rem; }
  .home-hero { width: calc(100% - 20px); padding-inline: 15px; }
  .home-proof-bar { margin-inline: -15px; }
  .home-page > section,
  .home-page > .partner-placement { width: calc(100% - 24px); }
  .home-task-grid a,
  .home-tool-shelf,
  .setup-mode-picker { padding-inline: 15px !important; }
}

/* ========================================================================== */
/* RACE PROGRAM / TIMING TOWER - EDITION TWO                                  */
/* Editorial public pages, compact record ledgers, and a race-shop pit board. */
/* This layer stays additive so every established route and data hook remains. */
/* ========================================================================== */

:root {
  --program-newsprint: #f1ede2;
  --program-paper: #fffdf7;
  --program-ink: #14191d;
  --program-red: #d43b2b;
  --program-gold: #c89a25;
  --program-blue: #315f73;
  --program-rule: #bbb7ac;
  --program-soft-rule: #d8d3c8;
  --program-mono: "Cascadia Mono", "IBM Plex Mono", Consolas, monospace;
  --program-serif: Georgia, "Times New Roman", serif;
}

body.site-page {
  background:
    linear-gradient(90deg, transparent 0 31px, rgb(212 59 43 / 6%) 31px 32px, transparent 32px),
    var(--program-newsprint);
}

/* Two-tier race-program masthead. */
.site-header {
  min-height: 0;
  display: block;
  gap: 0;
  border-bottom: 1px solid var(--program-ink);
  background: rgb(241 237 226 / 97%);
  padding: 0;
  color: var(--program-ink);
  box-shadow: 0 5px 18px rgb(20 25 29 / 9%);
  backdrop-filter: blur(14px);
}

.site-issue-line,
.site-masthead-row {
  width: min(1240px, calc(100% - 48px));
  margin-inline: auto;
}

.site-issue-line {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  border-bottom: 1px solid var(--program-rule);
  color: #4f5658;
  font: 850 .65rem/1 "Bahnschrift Condensed", "Arial Narrow", sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.site-issue-line span {
  border-left: 1px solid var(--program-rule);
  padding-inline: 18px;
}

.site-issue-line span:first-child { border-left: 0; }

.site-masthead-row {
  position: relative;
  min-height: 72px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 28px;
}

.site-masthead-row .brand { color: var(--program-ink); }
.site-masthead-row .brand-lockup strong { color: var(--program-ink); }
.site-masthead-row .brand-lockup span { color: var(--program-blue); }
.site-masthead-row .brand:hover .brand-lockup span { color: var(--program-red); }
.site-masthead-row #site-nav { justify-self: end; }

.site-masthead-row .nav-group summary {
  border-radius: 0;
  color: #303638;
  padding-inline: 11px;
}

.site-masthead-row .nav-group summary:hover,
.site-masthead-row .nav-group summary:focus-visible,
.site-masthead-row .nav-group[open] summary,
.site-masthead-row .nav-group-current summary {
  background: rgb(212 59 43 / 7%);
  color: var(--program-red);
}

.site-masthead-row .nav-group-menu {
  border: 1px solid var(--program-rule);
  border-top: 4px solid var(--program-red);
  border-radius: 0;
  background: var(--program-paper);
  box-shadow: 0 17px 35px rgb(20 25 29 / 17%);
}

.site-masthead-row #site-nav .nav-group-menu a { color: var(--program-ink); }
.site-masthead-row #site-nav .nav-group-menu a:hover,
.site-masthead-row #site-nav .nav-group-menu a:focus-visible,
.site-masthead-row #site-nav .nav-group-menu a[aria-current="page"] {
  background: rgb(212 59 43 / 8%);
  color: var(--program-red);
}

.site-masthead-row #site-nav > .race-shop-nav-link {
  border: 1px solid var(--program-red);
  border-radius: 0 0 12px 0;
  background: var(--program-red);
  box-shadow: inset 0 -3px 0 rgb(0 0 0 / 14%);
}

.site-masthead-row .nav-toggle {
  justify-self: end;
  border-color: var(--program-ink);
  color: var(--program-ink);
}

/* Interior pages now read like pages in the same race program. */
.page-interior .page-hero { max-width: 940px; padding-bottom: 54px; }
.page-interior .page-hero h1,
.page-interior .page-hero h2,
.home-page h1,
.home-page h2 {
  font-family: var(--program-serif);
  font-stretch: normal;
  font-weight: 700;
}

.page-interior .page-hero h1 {
  font-size: clamp(3.1rem, 6.2vw, 5.25rem);
  line-height: .96;
  letter-spacing: -.05em;
}

.page-interior .page-hero::after {
  width: min(210px, 34vw);
  height: 4px;
  background: linear-gradient(90deg, var(--program-red) 0 64%, var(--program-gold) 64% 82%, var(--program-blue) 82%);
}

.site-page .card,
.site-page .route-grid a,
.site-page .related,
.site-page .related-grid a,
.site-page .city-card,
.site-page .record-stat-grid > div,
.site-page .setup-learning-grid a,
.site-page .worked-example,
.site-page .lab-calculator,
.site-page .guide-field-sheet {
  border-radius: 0 0 4px 0;
  box-shadow: none;
}

.site-page .route-grid a {
  min-height: 118px;
  border-width: 0 0 1px 0;
  border-left: 0;
  background: transparent;
}

.site-page .route-grid a:hover,
.site-page .route-grid a:focus-visible {
  border-color: var(--program-red);
  background: rgb(255 253 247 / 65%);
  box-shadow: none;
}

.site-page .record-controls:not(.tracker-controls) {
  border: 1px solid var(--program-rule);
  border-top: 4px solid var(--program-ink);
  border-radius: 0;
  background: var(--program-paper);
  box-shadow: none;
}

.site-page .record-controls:not(.tracker-controls) label { color: var(--program-ink); }
.site-page .record-controls:not(.tracker-controls) input,
.site-page .record-controls:not(.tracker-controls) select,
.site-page .record-controls:not(.tracker-controls) button {
  border-color: #989b96;
  border-radius: 2px;
  background: #fff;
  color: var(--program-ink);
}
.site-page .record-controls:not(.tracker-controls) input::placeholder { color: #6e777a; }
.site-page .record-controls:not(.tracker-controls) button { border-color: var(--program-red); color: #a92d22; }

.site-page .table-wrap {
  border-radius: 0;
  border-top: 4px double var(--program-ink);
  box-shadow: none;
}
.site-page .snapshot th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #ece7dc;
  color: var(--program-ink);
  font: 850 .72rem/1.25 "Bahnschrift Condensed", "Arial Narrow", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.site-page .snapshot td { font-variant-numeric: tabular-nums; }

.catalog-actions [data-progressive-load-more] {
  min-width: min(100%, 320px);
  min-height: 48px;
  border: 1px solid var(--program-ink);
  border-radius: 0 0 12px 0;
  background: transparent;
  color: var(--program-ink);
  font-weight: 900;
}
.catalog-actions [data-progressive-load-more]:hover {
  border-color: var(--program-red);
  background: var(--program-red);
  color: #fff;
}

/* The front page is an issue of a race program, not a stack of app cards. */
.page-home main { padding-bottom: 82px; }
.home-page > section,
.home-page > aside,
.home-page > .partner-placement,
.home-hero {
  width: min(1240px, calc(100% - 48px));
  margin-inline: auto;
}

.home-cover {
  width: min(1380px, calc(100% - 48px));
  grid-template-columns: minmax(0, 1.65fr) minmax(330px, .72fr);
  gap: 0;
  margin-top: 26px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}
.home-cover::before { display: none; }

.home-cover-edition {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 4px solid var(--program-ink);
  border-bottom: 1px solid var(--program-ink);
  padding: 9px 1px 8px;
  color: #4b5355;
  font: 900 .68rem/1 "Bahnschrift Condensed", "Arial Narrow", sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.home-cover-image {
  align-self: stretch;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #10171b;
  transform: none;
  box-shadow: none;
}
.home-cover-image img {
  width: 100%;
  height: 100%;
  min-height: 610px;
  aspect-ratio: auto;
  object-fit: cover;
  filter: saturate(.8) contrast(1.06) sepia(.08);
}
.home-cover-image figcaption {
  min-height: 67px;
  border: 0;
  border-top: 5px solid var(--program-red);
  background: var(--program-ink);
  color: #d7d9d6;
  padding: 13px 16px;
}

.home-cover-copy {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid var(--program-ink);
  border-left: 0;
  background: var(--program-paper);
  padding: clamp(35px, 5vw, 68px) clamp(26px, 4vw, 52px);
}
.home-cover-copy .page-hero-icon { display: none; }
.home-cover-copy .page-hero-label { margin-bottom: 20px; }
.home-cover-copy .eyebrow { color: var(--program-red); }
.home-cover-copy .home-brand-line {
  margin: 0 0 12px;
  color: var(--program-blue);
  font-size: .72rem;
  letter-spacing: .17em;
}
.home-cover-copy h1 {
  margin: 0 0 24px;
  color: var(--program-ink);
  font-size: clamp(3.8rem, 5.8vw, 5.2rem);
  line-height: .9;
  letter-spacing: -.065em;
}
.home-cover-copy .intro { color: #384346; font-size: clamp(1.03rem, 1.4vw, 1.22rem); line-height: 1.55; }
.home-cover-copy .home-hero-actions { align-items: center; margin-top: 28px; }
.home-cover-copy .home-hero-race-link { margin: 0; color: var(--program-blue); }
.home-cover-copy .home-hero-race-link:hover { color: var(--program-red); }
.home-cover-note {
  margin: auto 0 0;
  border-top: 1px solid var(--program-soft-rule);
  padding-top: 21px;
  color: #697174 !important;
  font-size: .75rem;
  line-height: 1.5;
}

.home-page > section { border-top: 1px solid var(--program-rule); padding: clamp(72px, 8vw, 108px) 0; }
.home-page > section:first-of-type { border-top: 0; }
.home-section-heading { grid-template-columns: minmax(0, 1.3fr) minmax(270px, .55fr); }
.home-section-heading h2 { font-size: clamp(2.55rem, 4.5vw, 4.25rem); line-height: 1; letter-spacing: -.05em; }

.home-contents-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 4px double var(--program-ink);
  border-bottom: 1px solid var(--program-ink);
}
.home-contents-rail a {
  min-width: 0;
  min-height: 218px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-content: start;
  gap: 18px;
  border-left: 1px solid var(--program-rule);
  padding: 25px 20px;
  color: var(--program-ink);
  text-decoration: none;
}
.home-contents-rail a:first-child { border-left: 0; }
.home-contents-rail a:hover,
.home-contents-rail a:focus-visible { background: rgb(200 154 37 / 12%); }
.home-contents-rail a > span:first-child {
  color: var(--program-red);
  font: 950 1.8rem/1 "Bahnschrift Condensed", "Arial Narrow", sans-serif;
}
.home-contents-rail a > span:nth-child(2) { display: grid; align-content: start; gap: 7px; }
.home-contents-rail small,
.home-contents-rail b { color: #667074; font-size: .7rem; line-height: 1.45; }
.home-contents-rail small { color: var(--program-blue); font-weight: 900; letter-spacing: .1em; }
.home-contents-rail strong { font-family: var(--program-serif); font-size: 1.25rem; line-height: 1.15; }
.home-contents-rail b { font-weight: 600; }
.home-contents-rail i { align-self: end; color: var(--program-red); font: normal 1.4rem/1 var(--program-serif); }

.home-race-weekend {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  align-items: stretch;
  gap: clamp(35px, 6vw, 78px);
}
.home-race-weekend-visual,
.home-workshop-story figure,
.home-archive-grid figure { margin: 0; }
.home-race-weekend-visual img,
.home-workshop-story figure img,
.home-archive-grid img { display: block; width: 100%; object-fit: cover; }
.home-race-weekend-visual img { min-height: 540px; height: 100%; }
.home-race-weekend-visual figcaption,
.home-workshop-story figcaption,
.home-archive-grid figcaption {
  display: grid;
  gap: 3px;
  border-top: 4px solid var(--program-red);
  background: var(--program-ink);
  color: #cbd0ce;
  padding: 12px 14px;
  font-size: .68rem;
  line-height: 1.4;
}
.home-race-weekend-visual figcaption strong,
.home-workshop-story figcaption strong,
.home-archive-grid figcaption strong { color: #fff; }
.home-race-weekend-visual figcaption a { color: #a9d4e6; }
.home-race-weekend-copy { align-self: center; }
.home-race-weekend-copy h2 { font-size: clamp(2.7rem, 4.5vw, 4.4rem); }
.home-live-races { margin: 30px 0 24px; border-top: 4px double var(--program-ink); }
.home-race-event {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  align-items: center;
  gap: 15px;
  border-bottom: 1px solid var(--program-rule);
  padding: 15px 0;
}
.home-race-event time { display: grid; color: var(--program-red); font: 950 1.05rem/1 var(--program-mono); }
.home-race-event time small { margin-top: 4px; color: #777d7e; font-size: .66rem; }
.home-race-event-copy p,
.home-race-event-copy h3,
.home-race-event-copy span { margin: 0; }
.home-race-event-copy p { color: var(--program-blue); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.home-race-event-copy h3 { margin: 3px 0; font-family: var(--program-serif); font-size: 1.05rem; line-height: 1.2; }
.home-race-event-copy span { color: #687174; font-size: .7rem; }
.home-race-event > a { color: var(--program-red); font-size: .68rem; font-weight: 900; text-underline-offset: 3px; }
.home-race-event > a span { display: none; }
.home-race-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }

.home-workshop-story {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(340px, .72fr);
  align-items: center;
  gap: clamp(38px, 7vw, 86px);
}
.home-workshop-story figure img { aspect-ratio: 4 / 3; }
.home-workshop-story h2 { font-size: clamp(2.7rem, 4.5vw, 4.25rem); }
.home-workshop-sequence {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 58px 0 0;
  border-top: 4px double var(--program-ink);
  border-bottom: 1px solid var(--program-ink);
  padding: 0;
  list-style: none;
}
.home-workshop-sequence li { margin: 0; border-left: 1px solid var(--program-rule); }
.home-workshop-sequence li:first-child { border-left: 0; }
.home-workshop-sequence a { min-height: 200px; display: grid; align-content: start; gap: 9px; padding: 23px 18px; color: var(--program-ink); text-decoration: none; }
.home-workshop-sequence a:hover,
.home-workshop-sequence a:focus-visible { background: rgb(49 95 115 / 8%); }
.home-workshop-sequence span { color: var(--program-red); font: 950 1.4rem/1 var(--program-mono); }
.home-workshop-sequence strong { font-family: var(--program-serif); font-size: 1.15rem; }
.home-workshop-sequence small { color: #626c70; font-size: .73rem; line-height: 1.5; }

.home-race-shop-editorial {
  grid-template-columns: 300px minmax(0, 1fr);
  border-radius: 0;
  border-top: 7px solid var(--program-red) !important;
  background: var(--program-ink);
}
.home-race-shop-editorial .home-race-shop-visual { min-height: 0; margin: 0; border-right: 1px solid rgb(255 255 255 / 16%); }
.home-race-shop-editorial .home-race-shop-visual img { min-height: 310px; height: 100%; object-fit: cover; }
.home-race-shop-editorial .home-race-shop-visual figcaption { border-top: 1px solid rgb(255 255 255 / 18%); padding: 10px 13px; color: #aeb8bb; font-size: .68rem; line-height: 1.4; }
.home-race-shop-editorial .home-race-shop-copy { padding: clamp(36px, 6vw, 72px); }
.home-race-shop-index {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 28px 0;
  border-top: 1px solid rgb(255 255 255 / 25%);
  border-bottom: 1px solid rgb(255 255 255 / 25%);
  padding: 0;
  list-style: none;
}
.home-race-shop-index li { display: grid; gap: 4px; margin: 0; border-left: 1px solid rgb(255 255 255 / 18%); padding: 14px; }
.home-race-shop-index li:first-child { border-left: 0; }
.home-race-shop-index strong { font-size: .86rem; }
.home-race-shop-index span { color: #aeb9bd; font-size: .68rem; line-height: 1.4; }

.home-record-index {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 4px double var(--program-ink);
  border-bottom: 1px solid var(--program-ink);
}
.home-record-index a { min-height: 210px; display: grid; align-content: end; gap: 8px; border-left: 1px solid var(--program-rule); padding: 24px; color: var(--program-ink); text-decoration: none; }
.home-record-index a:first-child { border-left: 0; }
.home-record-index a:hover,
.home-record-index a:focus-visible { background: rgb(212 59 43 / 7%); }
.home-record-index span { color: var(--program-red); font: 900 .68rem/1 var(--program-mono); letter-spacing: .06em; }
.home-record-index strong { font-family: var(--program-serif); font-size: clamp(1.55rem, 3vw, 2.45rem); line-height: 1; }
.home-record-index small { color: #626c70; line-height: 1.45; }

.home-archive-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, .65fr);
  gap: 16px;
}
.home-archive-grid figure { overflow: hidden; background: var(--program-ink); }
.home-archive-grid .home-archive-lead { grid-row: span 2; }
.home-archive-grid img { height: 100%; min-height: 270px; filter: saturate(.78) contrast(1.05) sepia(.06); }
.home-archive-lead img { min-height: 680px; }
.home-archive-grid figcaption { border-top-color: var(--program-gold); }
.home-archive-links { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 24px; border-top: 1px solid var(--program-rule); padding-top: 18px; }
.home-archive-links a { color: var(--program-blue); font-weight: 850; text-underline-offset: 4px; }

.home-pocket-guide-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 4px double var(--program-ink);
  border-bottom: 1px solid var(--program-ink);
}
.home-pocket-guide-grid nav { display: grid; align-content: start; border-left: 1px solid var(--program-rule); padding: 24px; }
.home-pocket-guide-grid nav:first-child { border-left: 0; }
.home-pocket-guide-grid nav > span { margin-bottom: 10px; color: var(--program-red); font: 900 .7rem/1 var(--program-mono); letter-spacing: .08em; }
.home-pocket-guide-grid a { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 20px; border-top: 1px solid var(--program-soft-rule); padding: 14px 0; color: var(--program-ink); text-decoration: none; }
.home-pocket-guide-grid a:hover strong,
.home-pocket-guide-grid a:focus-visible strong { color: var(--program-red); }
.home-pocket-guide-grid small { color: #687174; line-height: 1.45; }

.home-sponsor-rail {
  width: min(1240px, calc(100% - 48px));
  display: grid;
  grid-template-columns: minmax(260px, .85fr) repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0 auto 70px;
  border-top: 1px solid var(--program-ink);
  border-bottom: 1px solid var(--program-ink);
}
.home-sponsor-rail > div,
.home-sponsor-rail > a { padding: 24px; }
.home-sponsor-rail > a { display: grid; align-content: center; gap: 6px; border-left: 1px solid var(--program-rule); color: var(--program-ink); text-decoration: none; }
.home-sponsor-rail > a:hover,
.home-sponsor-rail > a:focus-visible { background: rgb(200 154 37 / 12%); }
.home-sponsor-rail > a span { color: var(--program-red); font: 900 .65rem/1 var(--program-mono); letter-spacing: .07em; }
.home-sponsor-rail > a strong { font-family: var(--program-serif); font-size: 1.15rem; }
.home-sponsor-rail > a small { color: #697174; line-height: 1.45; }

.home-source-note {
  width: min(1240px, calc(100% - 48px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
  gap: 40px;
  margin: 0 auto 70px;
  border-left: 5px solid var(--program-blue);
  background: rgb(255 253 247 / 62%);
  padding: 24px 28px;
}
.home-source-note h2 { margin-bottom: 8px; font-size: 1.55rem; }
.home-source-note p { margin-bottom: 0; }
.home-source-note ul { display: grid; align-content: center; gap: 7px; margin: 0; padding-left: 20px; }
.home-source-note a { color: var(--program-blue); font-weight: 800; }

/* Compact directory surfaces. Progressive reveal keeps the full archive near. */
.site-page .city-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 4px double var(--program-ink); }
.site-page .city-card {
  border: 0;
  border-right: 1px solid var(--program-rule);
  border-bottom: 1px solid var(--program-rule);
  border-radius: 0;
  background: transparent;
  padding: 18px;
  box-shadow: none;
}
.site-page .city-card:nth-child(4n) { border-right: 0; }

.site-page .track-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.site-page .track-card {
  grid-template-columns: 132px minmax(0, 1fr);
  min-height: 178px;
  border-radius: 0;
  box-shadow: none;
}
.site-page .track-card[data-photo="pending"] { min-height: 0; border-left: 4px solid var(--program-rule); }
.site-page .track-card[data-photo="verified"] { border-top: 4px solid var(--program-blue); }
.site-page .track-photo img { min-height: 178px; }

/* Race Shop: a working pit board with numbered stations. */
.race-shop-nav a { display: grid; grid-template-columns: auto 28px minmax(0, 1fr); align-items: center; gap: 8px; }
.race-shop-station { color: #7f939c; font: 900 .65rem/1 var(--program-mono); }
.race-shop-nav a[aria-current="page"] .race-shop-station { color: var(--ssl-yellow); }

.garage-game-stage {
  grid-template-columns: minmax(0, 1.3fr) minmax(270px, .58fr);
  align-items: stretch;
}
.garage-pit-board { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: clamp(24px, 4vw, 44px); }
.garage-pit-board-header { border-bottom: 1px solid rgb(255 255 255 / 16%); padding-bottom: 18px; }
.garage-pit-board-header h2 { margin-bottom: 10px; }
.garage-pit-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.garage-pit-actions .secondary-cta { min-height: 44px; border-color: rgb(255 255 255 / 35%); padding: 9px 12px; }
.garage-crew-chief-dispatch { min-width: 0; border-left: 1px solid rgb(255 255 255 / 18%); background: #111b20; padding: 0; }
.garage-crew-chief-card { height: 100%; display: flex; flex-direction: column; margin: 0; }
.garage-crew-chief-portrait { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 58% center; }
.garage-crew-chief-copy { display: grid; align-content: start; gap: 8px; padding: 19px; }
.garage-crew-chief-copy h3,
.garage-crew-chief-copy p { margin: 0; }
.garage-crew-chief-copy .garage-speech { margin-top: 6px; }

/* Playwright responsive QA: preserve image ratios, reading order, and touch geometry. */
.brand { min-height: 44px; }
.site-masthead-row #site-nav > .race-shop-nav-link[aria-current="page"] {
  background: var(--program-red);
  color: #fff;
}
.page-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.historic-feature-image img,
.historic-gallery-image img { height: auto; }
.site-page .historic-feature-copy h2,
.site-page .historic-feature figcaption > strong,
.site-page .historic-gallery-card h3,
.site-page .historic-gallery-card strong { color: #fff; }
.site-page .historic-feature-copy .historic-feature-lead { color: #e0e6e2; }
.site-page .historic-feature-copy .historic-feature-meta { color: #aebbb5; }
.home-cover-image,
.home-race-weekend-visual,
.home-workshop-story figure,
.home-archive-grid figure {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}
.home-workshop-story figure img { height: auto; min-height: 0; }
.home-archive-grid figure > a { min-height: 0; overflow: hidden; }
.home-cover-copy h1 {
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  font-size: clamp(3.45rem, 4.45vw, 4.05rem);
}
.home-cover-copy h1 > span { display: block; }
.tracker-command-center { min-width: 0; max-width: 100%; }
.site-page .tracker-command-header > div:first-child > p:last-child { color: #45545b; }
.tracker-review-state button { min-height: 48px; }
.site-page .tracker-story-card h3,
.site-page .tracker-story-card h3 a,
.site-page .tracker-story-source strong { color: #f4f1e8; }
.site-page .tracker-story-body > p,
.site-page .tracker-story-meta time,
.site-page .tracker-story-source span { color: #b9c3be; }
.tracker-story-source a,
.footer-network-link { min-height: 44px; }
.tracker-story-publisher { overflow-wrap: anywhere; }
.site-page .product-card .product-price { color: var(--yellow); }
.site-page .product-card .product-options { color: var(--muted); }
.drag-plot { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; }

@media (max-width: 1100px) {
  .site-issue-line,
  .site-masthead-row { width: min(100% - 36px, 1240px); }
  .site-masthead-row #site-nav {
    right: 0;
    top: calc(100% - 1px);
    width: min(430px, 100%);
    max-width: 100%;
    border-color: #36464f;
    border-top-color: var(--program-red);
    background: #1b282f;
  }
  .site-masthead-row #site-nav .nav-group summary { color: #e9ede9; }
  .site-masthead-row #site-nav .nav-group-menu { border: 0; border-left: 2px solid rgb(240 198 70 / 48%); background: transparent; box-shadow: none; }
  .site-masthead-row #site-nav .nav-group-menu a { color: #e9ede9; }
  .site-masthead-row #site-nav .nav-group-menu a { min-height: 46px; }
  .home-cover { grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); }
  .home-cover-image img { min-height: 540px; }
  .home-contents-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-contents-rail a:nth-child(3) { border-left: 0; border-top: 1px solid var(--program-rule); }
  .home-contents-rail a:nth-child(4) { border-top: 1px solid var(--program-rule); }
  .home-workshop-sequence { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-workshop-sequence li:nth-child(4) { border-top: 1px solid var(--program-rule); border-left: 0; }
  .home-workshop-sequence li:nth-child(5) { border-top: 1px solid var(--program-rule); }
  .site-page .city-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-page .city-card:nth-child(4n) { border-right: 1px solid var(--program-rule); }
  .site-page .city-card:nth-child(3n) { border-right: 0; }
  .site-page .track-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .site-issue-line { justify-content: flex-start; overflow: hidden; white-space: nowrap; }
  .site-issue-line span { padding-inline: 10px; }
  .site-issue-line span:last-child { display: none; }
  .site-masthead-row { min-height: 66px; }
  .home-cover { width: min(100% - 28px, 1380px); grid-template-columns: 1fr; }
  .home-cover-edition { grid-column: 1; }
  .home-cover-image { grid-column: 1; grid-row: 2; }
  .home-cover-image img { height: auto; min-height: 0; aspect-ratio: 16 / 10; }
  .home-cover-copy { grid-column: 1; grid-row: 3; border-top: 0; border-left: 1px solid var(--program-ink); }
  .home-cover-copy h1 { font-size: clamp(3.15rem, 8vw, 4.2rem); }
  .home-section-heading { grid-template-columns: 1fr; align-items: start; }
  .home-section-heading > * { min-width: 0; }
  .home-race-weekend,
  .home-workshop-story,
  .home-race-shop-editorial,
  .home-source-note { grid-template-columns: 1fr; }
  .home-race-weekend-visual { order: 2; }
  .home-race-weekend-copy { order: 1; }
  .home-race-weekend-visual img { height: auto; min-height: 0; aspect-ratio: 4 / 3; }
  .home-workshop-story { gap: 32px; }
  .home-workshop-story figure { order: 2; }
  .home-workshop-story > div { order: 1; }
  .home-race-shop-editorial .home-race-shop-visual { border-right: 0; border-bottom: 1px solid rgb(255 255 255 / 16%); }
  .home-race-shop-editorial .home-race-shop-visual img { max-height: 380px; }
  .home-record-index { grid-template-columns: 1fr; }
  .home-record-index a { min-height: 150px; border-top: 1px solid var(--program-rule); border-left: 0; }
  .home-record-index a:first-child { border-top: 0; }
  .home-archive-grid { grid-template-columns: 1fr 1fr; }
  .home-archive-grid .home-archive-lead { grid-column: 1 / -1; grid-row: auto; }
  .home-archive-lead img { min-height: 430px; }
  .home-sponsor-rail { grid-template-columns: 1fr; }
  .home-sponsor-rail > a { border-top: 1px solid var(--program-rule); border-left: 0; }
  .home-source-note { gap: 20px; }
  .site-page .city-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-page .city-card:nth-child(3n) { border-right: 1px solid var(--program-rule); }
  .site-page .city-card:nth-child(2n) { border-right: 0; }
  .garage-game-stage { grid-template-columns: 1fr; }
  .garage-crew-chief-dispatch { border-top: 1px solid rgb(255 255 255 / 18%); border-left: 0; }
  .garage-crew-chief-card { display: grid; grid-template-columns: minmax(160px, .58fr) minmax(0, 1fr); }
  .garage-crew-chief-portrait { height: 100%; aspect-ratio: auto; }
  .tracker-command-center { overflow-x: clip; }
  .tracker-command-center::before { inset-inline: 0; }
  .site-page .lab-calculator :where(input, select, textarea),
  .site-page .garage-app input:not([type="checkbox"]):not([type="hidden"]),
  .site-page .garage-app select,
  .site-page .garage-app textarea { font-size: 16px; }
  .site-page .breadcrumbs a,
  .home-hero-race-link,
  .home-race-event > a,
  .home-archive-links a,
  .home-source-note a,
  .home-cover-image figcaption a,
  .home-race-weekend-visual figcaption a,
  .home-workshop-story figcaption a,
  .home-archive-grid figcaption a,
  .historic-media-links a,
  .tracker-story-source a,
  .sources a,
  .footer-network-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .track-card-heading h3 a,
  .track-card-links a,
  .schedule-card h3 a,
  .schedule-source-row a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .partner-ad-cta { min-height: 44px; }
  .skip-link { min-height: 44px; }
}

@media (max-width: 560px) {
  .site-issue-line,
  .site-masthead-row { width: calc(100% - 28px); }
  .site-issue-line { font-size: .58rem; }
  .site-issue-line span:nth-child(2) { border-left: 0; padding-left: 0; }
  .site-issue-line span:first-child { display: none; }
  .site-masthead-row #site-nav { left: 0; right: 0; width: 100%; }
  .home-page > section,
  .home-page > aside,
  .home-page > .partner-placement { width: calc(100% - 28px); }
  .home-cover-edition { align-items: flex-start; flex-direction: column; gap: 4px; }
  .home-cover-image img { aspect-ratio: 16 / 9; }
  .home-cover-image figcaption { min-height: 54px; }
  .home-cover-copy { padding: 34px 20px; }
  .home-cover-copy h1 { font-size: clamp(2.85rem, 12vw, 3.35rem); }
  .home-cover-copy .home-hero-actions { display: flex; align-items: flex-start; }
  .home-cover-copy .home-hero-actions a { width: auto; }
  .home-cover-note { margin-top: 28px; }
  .home-section-heading h2 { font-size: clamp(2.25rem, 12vw, 3.2rem); }
  .home-contents-rail { grid-template-columns: 1fr; }
  .home-contents-rail a,
  .home-contents-rail a:nth-child(2),
  .home-contents-rail a:nth-child(4) { min-height: 0; border-top: 1px solid var(--program-rule); border-left: 0; padding: 19px 5px; }
  .home-contents-rail a:first-child { border-top: 0; }
  .home-race-event { grid-template-columns: 58px minmax(0, 1fr); }
  .home-race-event > a { grid-column: 2; }
  .home-workshop-sequence { grid-template-columns: 1fr; }
  .home-workshop-sequence li,
  .home-workshop-sequence li:nth-child(2),
  .home-workshop-sequence li:nth-child(3),
  .home-workshop-sequence li:nth-child(5) { border-top: 1px solid var(--program-rule); border-left: 0; }
  .home-workshop-sequence li:first-child { border-top: 0; }
  .home-workshop-sequence a { min-height: 0; grid-template-columns: 46px 100px minmax(0, 1fr); align-items: start; padding: 17px 3px; }
  .home-workshop-sequence small { grid-column: 3; }
  .home-race-shop-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-race-shop-index li:nth-child(3) { border-top: 1px solid rgb(255 255 255 / 18%); border-left: 0; }
  .home-race-shop-index li:nth-child(4) { border-top: 1px solid rgb(255 255 255 / 18%); }
  .home-archive-grid { grid-template-columns: 1fr; }
  .home-archive-grid .home-archive-lead { grid-column: 1; }
  .home-archive-lead img,
  .home-archive-grid img { min-height: 0; aspect-ratio: 4 / 3; }
  .home-pocket-guide-grid { grid-template-columns: 1fr; }
  .home-pocket-guide-grid nav { border-top: 1px solid var(--program-rule); border-left: 0; padding-inline: 4px; }
  .home-pocket-guide-grid nav:first-child { border-top: 0; }
  .home-pocket-guide-grid a { grid-template-columns: 1fr; gap: 4px; }
  .home-sponsor-rail { width: calc(100% - 28px); }
  .site-page .city-grid,
  .site-page .track-grid { grid-template-columns: 1fr; }
  .site-page .city-card,
  .site-page .city-card:nth-child(2n),
  .site-page .city-card:nth-child(3n),
  .site-page .city-card:nth-child(4n) { border-right: 0; }
  .site-page .track-card { grid-template-columns: 1fr; }
  .racer-browser .table-wrap { overflow: visible; border-top: 0; }
  .racer-directory-table { display: block; width: 100%; min-width: 0; }
  .racer-directory-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .racer-directory-table tbody { display: grid; gap: 12px; }
  .racer-directory-table tr {
    display: block;
    border: 1px solid var(--program-rule);
    border-top: 4px solid var(--program-blue);
    background: rgb(255 253 247 / 72%);
    padding: 12px 14px;
  }
  .racer-directory-table tr[hidden] { display: none; }
  .racer-directory-table th,
  .racer-directory-table td,
  .racer-directory-table th[scope="row"],
  .racer-directory-table td:last-child {
    display: block;
    min-width: 0;
    border: 0;
    padding: 9px 0;
    color: var(--program-ink);
    white-space: normal;
  }
  .racer-directory-table [data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    color: var(--program-red);
    font: 900 .65rem/1.2 var(--program-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .racer-directory-table th[scope="row"] a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .racer-directory-table th[scope="row"] strong { color: var(--program-ink); font-size: 1.08rem; }
  body[data-page-route="/garage/"] .breadcrumbs { margin-bottom: 14px; }
  body[data-page-route="/garage/"] .page-hero { padding-bottom: 24px; }
  body[data-page-route="/garage/"] .page-hero h1 { font-size: 2.9rem; }
  body[data-page-route="/garage/"] .page-hero .intro { font-size: 1rem; line-height: 1.48; }
  body[data-page-route="/garage/"] .page-hero .status-line { margin-top: 16px; }
  body[data-page-route="/garage/"] .page-hero .status-line span:nth-child(n + 3) { display: none; }
  .garage-pit-actions { display: grid; }
  .garage-pit-actions a { width: 100%; }
  .garage-crew-chief-card { grid-template-columns: 1fr; }
  .garage-crew-chief-portrait { max-height: 270px; aspect-ratio: 4 / 3; }
  .race-shop-nav a { min-height: 48px; scroll-snap-align: start; }
  .race-shop-nav { scroll-snap-type: x proximity; }
}

/* Gallimore Network live-preview placements */
.partner-ad-network {
  grid-template-columns: minmax(220px, .44fr) minmax(0, 1fr) minmax(190px, .34fr);
  align-items: stretch;
  gap: 0;
  min-height: 184px;
  border-left-width: 1px;
  background: #fffdf8;
  padding: 0;
}
.partner-site-preview {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: #142028;
  color: #d9e2e5;
}
.partner-site-preview-frame {
  position: relative;
  min-height: 0;
  overflow: hidden;
  background: linear-gradient(145deg, #15232c, #0c1419);
}
.partner-site-preview-directory .partner-site-preview-frame { aspect-ratio: 16 / 9; }
.partner-site-preview-compact .partner-site-preview-frame { height: 100%; min-height: 148px; }
.partner-preview-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  background: color-mix(in srgb, var(--ad-accent) 8%, #111c24);
  color: var(--ad-accent);
  text-align: center;
}
.partner-preview-fallback strong { display: grid; place-items: center; }
.partner-preview-fallback span {
  display: block;
  max-width: 18ch;
  color: #e7edef;
  font-size: .7rem;
  font-weight: 850;
  line-height: 1.25;
}
.partner-site-preview-image {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: top center;
  background: #fff;
}
.partner-site-preview-image.is-preview-unavailable { opacity: 0; }
.partner-site-preview figcaption {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 48px;
  border-top: 1px solid rgb(255 255 255 / 13%);
  background: #121e25;
  padding: 5px 8px 5px 10px;
  color: #b6c3c7;
  font-size: .75rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .025em;
}
.partner-preview-refresh {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 44px;
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  background: rgb(255 255 255 / 8%);
  color: #dbe5e8;
  padding: 5px 8px;
  font: inherit;
  letter-spacing: 0;
  cursor: pointer;
}
.partner-preview-refresh:hover { background: rgb(255 255 255 / 16%); color: #fff; }
.partner-preview-refresh:disabled { cursor: progress; opacity: .68; }
.partner-preview-refresh.is-refreshing .ui-icon { animation: partner-preview-spin .8s linear infinite; }
@keyframes partner-preview-spin { to { transform: rotate(360deg); } }

.partner-ad-network .partner-ad-copy {
  align-self: center;
  padding: 20px 22px;
}
.partner-ad-network .partner-ad-copy .kicker {
  margin-bottom: 7px;
  color: #8c3029;
  font-size: .63rem;
}
.partner-ad-network .partner-ad-copy h3 {
  margin-bottom: 7px;
  color: var(--ssl-asphalt);
  font: 900 clamp(1.1rem, 1.5vw, 1.35rem)/1.08 "Bahnschrift Condensed", "Arial Narrow", sans-serif;
  text-transform: uppercase;
}
.site-page .partner-ad-network .partner-ad-copy > p:not(.kicker) {
  color: #4f5d63;
  font-size: .82rem;
  line-height: 1.5;
}
.partner-ad-network .partner-ad-copy .partner-ad-disclosure {
  margin-top: 8px;
  color: #758086;
  font-size: .64rem;
}
.partner-ad-action {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 11px;
  border-left: 1px solid #d8d4cb;
  background: color-mix(in srgb, var(--ad-accent) 9%, #f7f3ea);
  padding: 20px;
}
.partner-ad-action p {
  margin: 0;
  color: #445158;
  font-size: .73rem;
  font-weight: 720;
  line-height: 1.45;
}
.partner-ad-network .partner-ad-cta {
  min-height: 48px;
  border-color: color-mix(in srgb, var(--ad-accent) 72%, #6c7477);
  border-radius: 7px;
  background: var(--ad-accent);
  color: #142027;
  padding: 11px 13px;
  font-size: .8rem;
  font-weight: 950;
  white-space: normal;
}
.partner-ad-network .partner-ad-cta:hover {
  border-color: #142027;
  background: #142027;
  color: #fff;
}

.partner-card[data-relationship="network"] {
  min-height: 0;
  overflow: hidden;
  border-color: #c5c8c4;
  border-radius: 10px;
  background: #fffdf8;
  padding: 0;
}
.partner-card[data-relationship="network"] .partner-card-copy { padding: 20px 20px 10px; }
.partner-card[data-relationship="network"] .partner-card-copy .kicker { color: #8c3029; }
.partner-card[data-relationship="network"] .partner-card-copy h3 {
  color: var(--ssl-asphalt);
  font: 900 1.35rem/1.08 "Bahnschrift Condensed", "Arial Narrow", sans-serif;
  text-transform: uppercase;
}
.partner-card[data-relationship="network"] .partner-card-copy p { color: #556268; }
.partner-card-action {
  display: grid;
  gap: 11px;
  margin-top: auto;
  padding: 8px 20px 20px;
}
.partner-card-action p {
  margin: 0;
  color: #5a666b;
  font-size: .74rem;
  font-weight: 720;
  line-height: 1.45;
}
.partner-card[data-relationship="network"] .partner-card-cta {
  width: 100%;
  min-height: 48px;
  border-color: color-mix(in srgb, var(--ad-accent) 72%, #6c7477);
  border-radius: 7px;
  background: var(--ad-accent);
  color: #142027;
  padding: 11px 13px;
  font-size: .82rem;
}
.partner-card[data-relationship="network"] .partner-card-cta:hover {
  border-color: #142027;
  background: #142027;
  color: #fff;
}

@media (max-width: 980px) {
  .partner-ad-network {
    grid-template-columns: minmax(200px, .42fr) minmax(0, 1fr);
  }
  .partner-ad-network .partner-ad-action {
    grid-column: 2;
    border-top: 1px solid #d8d4cb;
    border-left: 0;
    padding: 14px 20px 18px;
  }
  .partner-ad-network .partner-ad-action p { max-width: 48ch; }
}

@media (max-width: 700px) {
  .partner-directory-grid { grid-template-columns: 1fr; }
  .partner-ad-network {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .partner-site-preview-compact .partner-site-preview-frame {
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
  .partner-site-preview figcaption { padding-inline: 12px 8px; }
  .partner-preview-refresh { padding-inline: 10px; }
  .partner-ad-network .partner-ad-copy { padding: 18px 18px 12px; }
  .partner-ad-network .partner-ad-copy > p:not(.kicker, .partner-ad-disclosure) {
    display: block;
  }
  .partner-ad-network .partner-ad-copy h3 { font-size: 1.35rem; }
  .partner-ad-network .partner-ad-action {
    grid-column: 1;
    border-top: 0;
    padding: 0 18px 18px;
  }
  .partner-ad-network .partner-ad-action p { font-size: .76rem; }
  .partner-ad-network .partner-ad-cta { width: 100%; }
}

@media (max-width: 420px) {
  .partner-preview-refresh span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .partner-preview-refresh { width: 44px; padding: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .home-task-grid a,
  .setup-mode-grid a,
  .home-hero-visual,
  .nav-group-chevron,
  .partner-preview-refresh .ui-icon { transform: none !important; animation: none !important; }
}

/* ========================================================================== */
/* SITE-WIDE RENDERED CONTRAST REPAIR                                         */
/* Keep light-page and dark-component colors separate. The race-program layer */
/* above intentionally lightens the page, but these established components    */
/* still render on dark surfaces and need explicit semantic text colors.      */
/* ========================================================================== */

@media screen {
  :root {
    --ssl-red: #a92f26;
    --program-red: #a92f26;
    --ssl-steel: #536168;
  }

  /* Shared light-page text and source treatments. */
  .site-page .breadcrumbs,
  .site-page .breadcrumb-separator,
  .site-page .sources li span,
  .site-page .catalog-fallback,
  .site-page .tracker-intelligence-heading > p,
  .site-page .tracker-desk-heading > p,
  .site-page .tracker-social-disclosure,
  .site-page .home-cover-note,
  .site-page .home-race-event-copy span,
  .site-page .home-workshop-sequence small,
  .site-page .home-record-index small,
  .site-page .home-sponsor-rail > a small,
  .site-page .partner-ad-network .partner-ad-disclosure,
  .site-page .partner-card[data-relationship="network"] .partner-card-action p {
    color: #536168;
  }

  .site-page .sources li a { color: #315f73; }
  .site-page .catalog-fallback a,
  .site-page .lab-back-link a { color: #a92f26; }
  .site-page a.text-cta { color: #a92f26; }
  .site-page .home-race-event time small,
  .site-page .home-pocket-guide-grid nav a small,
  .site-page .home-contents-rail a b { color: #536168; }

  .site-page .catalog-status,
  .site-page .catalog-empty {
    border-color: #c4c9c3;
    border-left-color: #a92f26;
    background: #fffdf8;
    color: #39484f;
  }

  .site-page .catalog-controls .catalog-actions button {
    border-color: #ffc18f;
    color: #ffc18f;
  }

  /* Track cards are light; only their photographic captions remain dark. */
  .site-page .track-card-meta,
  .site-page .track-venue { color: #536168; }
  .site-page .track-card-heading h3,
  .site-page .track-card-heading h3 a,
  .site-page .track-venue strong { color: #172127; }
  .site-page .track-card-links a { color: #9f2b22; }
  .site-page .track-photo figcaption > span { color: #f5f1e7; }
  .site-page .track-photo figcaption a { color: #a9d7e9; }
  .site-page .track-type-permanent {
    background: #e7f3e9;
    color: #246b3b;
  }
  .site-page .track-type-street {
    background: #e8f2f6;
    color: #315f73;
  }
  .site-page .track-type-unknown,
  .site-page .track-type-venue-unverified {
    border-color: #7b878c;
    background: #e6e8e4;
    color: #46555c;
  }

  /* Schedule cards: this includes the Ogallala August Rally regression. */
  .site-page .schedule-next-grid time,
  .site-page .schedule-date-month,
  .site-page .schedule-source-row a { color: #ffc18f; }
  .site-page .schedule-next-grid strong,
  .site-page .schedule-date-day,
  .site-page .schedule-card h3,
  .site-page .schedule-card h3 a { color: #f5f1e7; }
  .site-page .schedule-next-grid span,
  .site-page .schedule-card-details,
  .site-page .schedule-source-row span { color: #cbd4cf; }
  .site-page .schedule-location,
  .site-page .schedule-date-year,
  .site-page .schedule-date-end { color: #dce5e0; }
  .site-page .schedule-card h3 a:hover { color: #ffc18f; }

  /* Product catalog and non-network partner cards remain dark. */
  .site-page .product-card h3,
  .site-page .product-card h3 a,
  .site-page .partner-card:not([data-relationship="network"]) h3 {
    color: #f5f1e7;
  }
  .site-page .product-card-meta > span:first-child,
  .site-page .product-card .product-cta { color: #ffc18f; }
  .site-page .product-card .product-cta:hover {
    border-color: #ffc18f;
    background: #ffc18f;
    color: #172127;
  }
  .site-page .product-card .product-options,
  .site-page .partner-card:not([data-relationship="network"]) p,
  .site-page .partner-card:not([data-relationship="network"]) .partner-card-status {
    color: #cbd4cf;
  }
  .site-page .partner-card:not([data-relationship="network"]) .partner-card-mark strong {
    color: var(--ad-accent);
  }
  .site-page .partner-card:not([data-relationship="network"]) p strong { color: #f5f1e7; }
  .site-page .partner-card:not([data-relationship="network"]) .kicker,
  .site-page .partner-card:not([data-relationship="network"]) .partner-card-cta {
    color: color-mix(in srgb, var(--ad-accent) 76%, #fff);
  }
  .site-page .partner-card:not([data-relationship="network"]) .partner-card-cta:hover {
    background: var(--ad-accent);
    color: #172127;
  }

  /* Setup Lab calculators are light; their outputs and diagrams stay dark. */
  .site-page .lab-calculator > label,
  .site-page .lab-input-grid label { color: #24333a; }
  .site-page .lab-calculator button {
    border-color: #a92f26;
    background: #a92f26;
    color: #fff;
  }
  .site-page .lab-calculator button:hover {
    border-color: #172127;
    background: #172127;
    color: #fff;
  }
  .site-page .calculator-caveat { border-color: #c9cdc6; color: #536168 !important; }
  .site-page .setup-learning-grid small { color: #536168; }
  .site-page .lab-variable-list {
    border-color: #c4c9c3;
    background: #fffdf8;
  }
  .site-page .lab-variable-list > div { border-color: #d1d4cf; }
  .site-page .lab-variable-list dt { color: #765900; }
  .site-page .lab-variable-list dd { color: #3f5057; }
  .site-page .failure-grid > div {
    border-left-color: #a92f26;
    background: #fffdf8;
  }
  .site-page .failure-grid strong { color: #172127; }
  .site-page .failure-grid span { color: #536168; }
  .site-page .guide-field-sheet,
  .site-page .guide-field-grid,
  .site-page .guide-field-grid article {
    border-color: #c4c9c3;
    background: #fffdf8;
  }
  .site-page .guide-field-question,
  .site-page .guide-authority-note { border-color: #c9cdc6; }
  .site-page .guide-field-grid li,
  .site-page .guide-decision-grid p:last-child { color: #39484f; }
  .site-page .guide-authority-note { color: #536168; }
  .site-page .science-figure figcaption strong,
  .site-page .science-figure figcaption .guide-drawing-standard b { color: #172127; }
  .site-page .science-figure figcaption span { color: #39484f; }
  .site-page .science-figure figcaption .guide-drawing-standard { color: #536168; }

  /* ISBD Tracker command-center panels use opaque dark surfaces. */
  .site-page .tracker-review-state {
    border-color: #416776;
    background: linear-gradient(90deg, #18303a, #17242d);
  }
  .site-page .tracker-kpi-grid > div {
    border-color: #41515a;
    background: linear-gradient(155deg, #22343e, #17242d);
  }
  .site-page .tracker-review-state strong,
  .site-page .tracker-health > strong,
  .site-page .tracker-executive-brief h3,
  .site-page .tracker-brief-list li > strong,
  .site-page .tracker-watch-panel h3,
  .site-page .tracker-intelligence-panel h3,
  .site-page .tracker-social-stage h2,
  .site-page .tracker-social-stage h3,
  .site-page .tracker-social-feed-header h3 {
    color: #f5f1e7;
  }
  .site-page .tracker-review-state small,
  .site-page .tracker-kpi-grid span,
  .site-page .tracker-kpi-grid small,
  .site-page .tracker-brief-list li > span,
  .site-page .tracker-brief-list li > p,
  .site-page .tracker-intelligence-caveat,
  .site-page .tracker-panel-empty,
  .site-page .tracker-social-stage-copy > div > p:last-child,
  .site-page .tracker-social-stage .tracker-social-disclosure { color: #cbd4cf; }
  .site-page .tracker-kpi-grid strong { color: #ffe082; }
  .site-page .tracker-panel-overline,
  .site-page .tracker-intelligence-panel > header > span,
  .site-page .tracker-newsroom-cta span:first-child { color: #ffc18f; }
  .site-page .tracker-social-feed-header p { color: var(--social-accent); }
  .site-page .tracker-controls button[data-tracker-reset] {
    border-color: #ffc18f;
    color: #ffc18f;
  }
  .site-page .tracker-story-source a,
  .site-page .tracker-story-image-fallback .tracker-story-image-fallback-label { color: #ffc18f; }

  /* Historic archive metadata sits on the same dark photographic surfaces. */
  .site-page .historic-feature .kicker,
  .site-page .historic-feature-meta span,
  .site-page .historic-gallery-meta span,
  .site-page .historic-gallery-card dt { color: #ffc18f; }
  .site-page .historic-gallery-meta,
  .site-page .historic-feature-credit,
  .site-page .historic-gallery-card dd,
  .site-page .historic-feature-context { color: #cbd4cf; }
  .site-page .historic-feature-context strong { color: #f5f1e7; }
  .site-page .historic-crowd-stats strong { color: #ffe082; }

  /* Only the page footer gets this repair; embedded social-card footers keep theirs. */
  body.site-page > footer strong { color: #fff; }
  body.site-page > footer p,
  body.site-page > footer li,
  body.site-page > footer .footer-brand span,
  body.site-page > footer .footer-legal { color: #cbd4cf; }
  body.site-page > footer .footer-brand p { color: #ffe082; }
  body.site-page > footer a { color: #a9d7e9; }
}

@media print {
  :root { color-scheme: light; --ssl-paper: #fff; --ssl-paper-2: #fff; }
  body.site-page { min-width: 0; background: #fff !important; color: #000; font-size: 10pt; }
  .site-header,
  footer,
  .breadcrumbs,
  .partner-placement,
  .related,
  .status-line,
  .guide-field-actions,
  .home-hero-actions,
  .home-hero-race-link,
  .garage-jump-nav,
  .garage-app-status { display: none !important; }
  .site-page main,
  .site-page article,
  .site-page article.wide-page { width: 100%; max-width: none; margin: 0; padding: 0; }
  .page-interior .page-hero { padding: 0 0 18pt; }
  .page-interior .page-hero::after { height: 2pt; margin-top: 12pt; }
  .site-page h1 { margin: 0 0 10pt; color: #000; font-size: 28pt; line-height: 1; }
  .site-page h2 { color: #000; font-size: 18pt; }
  .site-page h3 { color: #000; font-size: 13pt; }
  .site-page p,
  .site-page li { color: #111; font-size: 9.5pt; line-height: 1.45; }
  .site-page section { padding: 18pt 0; border-color: #777; }
  .science-figure,
  .diagram-stage,
  .worked-example,
  .lab-calculator,
  .guide-field-sheet,
  .guide-field-grid,
  .guide-field-grid article,
  .guide-decision-grid article,
  .setup-mode-picker { border-color: #555 !important; background: #fff !important; box-shadow: none !important; }
  .science-figure,
  .guide-field-sheet,
  .guide-field-grid article,
  .guide-decision-grid article,
  .worked-example { break-inside: avoid; }
  .precision-diagram { width: 100% !important; height: auto !important; max-height: 6.7in; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .science-figure figcaption,
  .guide-field-grid li,
  .guide-decision-grid p:last-child,
  .guide-authority-note { color: #111 !important; background: #fff !important; }
  .table-wrap { overflow: visible; border-color: #777 !important; box-shadow: none !important; }
  .snapshot { min-width: 0; }
  .snapshot th,
  .snapshot td { color: #000 !important; border-color: #777 !important; padding: 6pt; }
}

/* Rivet: site-wide pit coach and source-grounded Derby archive curator. */
@media screen {
  body.curator-is-open { overflow: hidden; }

  .curator-launch {
    position: fixed;
    right: max(18px, env(safe-area-inset-right));
    bottom: max(18px, env(safe-area-inset-bottom));
    z-index: 45;
    min-width: 190px;
    min-height: 62px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 8px;
    align-items: center;
    gap: 10px;
    border: 1px solid #52646d;
    border-left: 5px solid var(--ssl-red, #c83a2d);
    border-radius: 4px 4px 16px 4px;
    background: #172127;
    color: #fff;
    padding: 7px 12px 7px 7px;
    font: inherit;
    text-align: left;
    box-shadow: 0 18px 44px rgb(0 0 0 / 30%);
    cursor: pointer;
    transition: border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease, opacity 120ms ease;
  }

  .curator-launch:hover {
    border-color: var(--ssl-yellow, #f0c646);
    border-left-color: var(--ssl-yellow, #f0c646);
    transform: translateY(-2px);
    box-shadow: 0 22px 50px rgb(0 0 0 / 36%);
  }

  .curator-launch:focus-visible {
    outline: 3px solid var(--ssl-yellow, #f0c646);
    outline-offset: 4px;
  }

  .curator-is-open .curator-launch {
    opacity: 0;
    pointer-events: none;
  }

  .curator-launch-mark {
    width: 44px;
    height: 44px;
    overflow: hidden;
    display: grid;
    place-items: center;
    border: 2px solid #f0c646;
    border-radius: 3px 3px 12px 3px;
    background: #263740;
  }

  .curator-launch-mark img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 57% 42%;
  }

  .curator-launch-copy { min-width: 0; display: grid; gap: 2px; }
  .curator-launch-copy small {
    color: #a9d7e9;
    font-size: .58rem;
    font-weight: 950;
    letter-spacing: .13em;
    line-height: 1.1;
  }
  .site-page .curator-launch-copy strong {
    color: #fff;
    font: 950 1.05rem/1.1 "Bahnschrift Condensed", "Arial Narrow", sans-serif;
    letter-spacing: .02em;
    text-transform: uppercase;
  }
  .curator-launch-status {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #74d69a;
    box-shadow: 0 0 0 4px rgb(116 214 154 / 12%);
  }

  .curator-dialog {
    position: fixed;
    inset: auto 24px 24px auto;
    width: min(590px, calc(100vw - 48px));
    max-width: none;
    max-height: calc(100dvh - 48px);
    margin: 0;
    overflow: hidden;
    border: 1px solid #4a5d66;
    border-top: 6px solid var(--ssl-red, #c83a2d);
    border-radius: 4px 4px 22px 4px;
    background: #eef0eb;
    color: #172127;
    padding: 0;
    box-shadow: 0 30px 90px rgb(0 0 0 / 46%);
  }

  .curator-dialog::backdrop {
    background: rgb(11 18 22 / 58%);
    backdrop-filter: blur(3px);
  }

  .curator-panel {
    height: min(760px, calc(100dvh - 54px));
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto auto;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .curator-header {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    border: 0;
    background: #172127;
    padding: 16px;
  }

  .curator-mark {
    width: 68px;
    height: 68px;
    overflow: hidden;
    display: block;
    border: 3px solid var(--ssl-yellow, #f0c646);
    border-radius: 3px 3px 16px 3px;
    background: #273942;
  }
  .curator-mark img { width: 100%; height: 100%; object-fit: cover; object-position: 57% 42%; }

  .curator-heading-copy { min-width: 0; }
  .curator-heading-copy .kicker { margin: 0 0 4px; color: #f0c646; font-size: .6rem; }
  .site-page .curator-heading-copy h2 { margin: 0; color: #fff; font-size: 1.75rem; line-height: .95; }
  .site-page .curator-heading-copy > p:last-child { margin: 7px 0 0; color: #c9d2d5; font-size: .76rem; line-height: 1.4; }

  .curator-close {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: start;
    border: 1px solid rgb(255 255 255 / 30%);
    border-radius: 3px 3px 10px 3px;
    background: transparent;
    color: #fff;
    padding: 8px 10px;
    font: 850 .72rem/1 inherit;
    cursor: pointer;
  }
  .curator-close:hover { border-color: #f0c646; color: #f0c646; }

  .curator-service-bar {
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 9px;
    border-bottom: 1px solid #c6cbc5;
    background: #fffdf8;
    padding: 8px 15px;
  }
  .curator-mode {
    flex: 0 0 auto;
    border: 1px solid #286a8b;
    border-radius: 999px;
    background: rgb(40 106 139 / 8%);
    color: #1f5e7c;
    padding: 5px 8px;
    font-size: .62rem;
    font-weight: 950;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
  }
  .curator-mode[data-mode="ai"] { border-color: #a92f26; background: rgb(200 58 45 / 8%); color: #9d2b22; }
  .curator-service-status { min-width: 0; color: #536168; font-size: .68rem; font-weight: 750; line-height: 1.35; }
  .curator-service-status[data-state="loading"] { color: #765900; }
  .curator-service-status[data-state="offline"] { color: #9b2c24; }

  .curator-body { min-height: 0; overflow-y: auto; padding: 14px 15px 18px; overscroll-behavior: contain; }
  .curator-suggestion-region { margin: 0 0 15px; }
  .site-page .curator-suggestion-region > p { margin: 0 0 8px; color: #58666c; font-size: .68rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
  .curator-prompt-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .curator-prompt-grid button {
    min-height: 48px;
    border: 1px solid #c1c7c1;
    border-left: 4px solid #286a8b;
    border-radius: 3px 3px 10px 3px;
    background: #fffdf8;
    color: #26363d;
    padding: 9px 10px;
    font: 800 .73rem/1.32 inherit;
    text-align: left;
    cursor: pointer;
  }
  .curator-prompt-grid button:nth-child(even) { border-left-color: #c83a2d; }
  .curator-prompt-grid button:hover { border-color: #c83a2d; }

  .curator-thread { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
  .curator-message { display: grid; gap: 5px; margin: 0; }
  .curator-message-user { justify-items: end; }
  .curator-message-label { color: #617078; font-size: .61rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
  .curator-message-bubble {
    max-width: 92%;
    border: 1px solid #c4c9c3;
    border-left: 4px solid #286a8b;
    border-radius: 3px 3px 13px 3px;
    background: #fffdf8;
    padding: 12px 13px;
    box-shadow: 0 7px 18px rgb(23 33 39 / 6%);
  }
  .curator-message-user .curator-message-bubble { border-color: #286a8b; border-left-color: #286a8b; background: #286a8b; }
  .site-page .curator-message-bubble p { margin: 0; color: #2f4047; font-size: .85rem; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
  .site-page .curator-message-user .curator-message-bubble p { color: #fff; }
  .curator-message[data-pending="true"] .curator-message-bubble { border-left-color: #b2870a; }
  .curator-message[data-pending="true"] .curator-message-bubble p::after { content: ""; display: inline-block; width: 8px; height: 8px; margin-left: 8px; border: 2px solid #b2870a; border-right-color: transparent; border-radius: 50%; animation: curator-spin 700ms linear infinite; }
  .curator-answer-mode { display: block; margin-top: 8px; color: #68767d; font-size: .62rem; font-weight: 800; }

  .curator-sources { margin-top: 11px; border-top: 1px solid #d4d8d3; padding-top: 10px; }
  .site-page .curator-sources > p { margin: 0 0 7px; color: #59686e; font-size: .62rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
  .curator-sources ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
  .curator-sources li { margin: 0; }
  .curator-sources a { display: grid; gap: 1px; border: 1px solid #aac0ca; border-radius: 3px 3px 9px 3px; background: rgb(40 106 139 / 6%); color: #1f5e7c; padding: 7px 9px; font-size: .7rem; font-weight: 850; line-height: 1.2; text-decoration: none; }
  .curator-sources a:hover { border-color: #286a8b; background: rgb(40 106 139 / 12%); }
  .curator-sources a small { color: #65747a; font-size: .56rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }

  .curator-form { border-top: 1px solid #c6cbc5; background: #fffdf8; padding: 12px 15px 9px; }
  .curator-form > label { display: block; margin-bottom: 6px; color: #25353c; font-size: .69rem; font-weight: 900; }
  .curator-compose { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 8px; }
  .curator-compose textarea { width: 100%; min-height: 56px; max-height: 132px; resize: vertical; border: 1px solid #8e9aa0; border-radius: 3px 3px 10px 3px; background: #fff; color: #172127; padding: 9px 10px; font: 750 .86rem/1.4 inherit; }
  .curator-compose textarea::placeholder { color: #6d797e; opacity: 1; }
  .curator-compose button { min-width: 112px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid #a92f26; border-radius: 3px 3px 11px 3px; background: #a92f26; color: #fff; padding: 9px 12px; font: 900 .76rem/1.2 inherit; cursor: pointer; }
  .curator-compose button:hover { background: #8f251e; }
  .curator-compose button:disabled { border-color: #aeb5b1; background: #d5d9d4; color: #657078; cursor: not-allowed; }
  .curator-form-hint { display: block; margin-top: 5px; color: #69767c; font-size: .61rem; }
  .site-page .curator-disclaimer { margin: 0; border-top: 1px solid #3b4b53; background: #172127; color: #c8d1d4; padding: 9px 15px 11px; font-size: .63rem; line-height: 1.45; }

  .curator-dialog :where(button, textarea, a):focus-visible,
  .curator-landing-shell :where(button, a):focus-visible,
  .curator-landing-prompts button:focus-visible { outline: 3px solid #f0c646; outline-offset: 3px; }

  /* Dedicated curator desk */
  [data-page-route="/curator/"] .content-page { max-width: none; }
  .curator-landing-shell { display: grid; grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr); gap: 0; overflow: hidden; border: 0 !important; border-top: 7px solid #c83a2d !important; border-radius: 4px 4px 24px 4px; background: #172127; padding: 0 !important; box-shadow: 0 24px 58px rgb(23 33 39 / 20%); }
  .curator-landing-portrait { min-height: 470px; margin: 0; display: grid; grid-template-rows: 1fr auto; background: #0f181d; }
  .curator-landing-portrait img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; }
  .curator-landing-portrait figcaption { border-top: 4px solid #f0c646; color: #c9d2d5; padding: 11px 14px; font-size: .7rem; line-height: 1.4; }
  .curator-landing-copy { align-self: center; padding: clamp(30px, 6vw, 68px); }
  .curator-landing-copy .kicker { color: #f0c646; }
  .site-page .curator-landing-copy h2 { color: #fff; }
  .site-page .curator-landing-copy p { color: #ccd5d8; }
  .curator-landing-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 25px; }
  .curator-landing-actions button { font-family: inherit; cursor: pointer; }
  .curator-landing-actions .text-cta { color: #a9d7e9; font-weight: 850; text-underline-offset: 4px; }

  .curator-landing-prompts { display: grid; grid-template-columns: minmax(270px, .65fr) minmax(0, 1.35fr); gap: clamp(28px, 6vw, 70px); align-items: center; }
  .curator-landing-prompt-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .curator-landing-prompt-grid button { min-height: 112px; display: grid; align-content: center; gap: 8px; border: 1px solid #c2c8c2; border-left: 5px solid #286a8b; border-radius: 3px 3px 13px 3px; background: #fffdf8; color: #172127; padding: 17px; font: inherit; text-align: left; cursor: pointer; box-shadow: 0 8px 22px rgb(23 33 39 / 6%); }
  .curator-landing-prompt-grid button:nth-child(even) { border-left-color: #c83a2d; }
  .curator-landing-prompt-grid button:hover { border-color: #c83a2d; transform: translateY(-2px); }
  .curator-landing-prompt-grid span { color: #286a8b; font-size: .64rem; font-weight: 950; letter-spacing: .1em; }
  .curator-landing-prompt-grid strong { font-size: .92rem; line-height: 1.35; }

  .curator-answer-example { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: clamp(28px, 6vw, 70px); align-items: center; }
  .curator-example-heading > p:last-child { max-width: 520px; }
  .curator-example-card { border: 1px solid #3f515a; border-left: 6px solid #286a8b; border-radius: 3px 3px 16px 3px; background: #172127; color: #fff; padding: clamp(22px, 4vw, 34px); box-shadow: 0 18px 42px rgb(23 33 39 / 16%); }
  .curator-example-mode { display: inline-block; border: 1px solid #75b5d1; border-radius: 999px; color: #b9e2f2; padding: 5px 8px; font-size: .62rem; font-weight: 950; letter-spacing: .07em; text-transform: uppercase; }
  .site-page .curator-example-card p { color: #d4dcdf; }
  .site-page .curator-example-card p strong { color: #f0c646; }
  .curator-example-question { border-bottom: 1px solid rgb(255 255 255 / 15%); padding-bottom: 14px; }
  .curator-example-sources { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
  .curator-example-sources > span { flex-basis: 100%; color: #aebbc0; font-size: .62rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
  .curator-example-sources a { border: 1px solid #567685; border-radius: 3px 3px 9px 3px; color: #b9e2f2; padding: 7px 9px; font-size: .7rem; font-weight: 850; text-decoration: none; }
  .curator-example-sources a:hover { border-color: #f0c646; color: #f0c646; }

  .curator-boundaries .card { border-top: 5px solid #286a8b; }
  .curator-boundaries .card:nth-child(2) { border-top-color: #c83a2d; }
  .curator-boundaries .card:nth-child(3) { border-top-color: #b2870a; }

  @keyframes curator-spin { to { transform: rotate(360deg); } }

  @media (max-width: 760px) {
    .curator-dialog { inset: auto 0 0; width: 100%; max-height: 94dvh; border-right: 0; border-bottom: 0; border-left: 0; border-radius: 16px 16px 0 0; }
    .curator-panel { height: min(820px, 94dvh); }
    .curator-header { grid-template-columns: 54px minmax(0, 1fr) auto; gap: 10px; padding: 12px; }
    .curator-mark { width: 54px; height: 54px; }
    .site-page .curator-heading-copy h2 { font-size: 1.5rem; }
    .site-page .curator-heading-copy > p:last-child { display: none; }
    .curator-close { padding-inline: 8px; }
    .curator-service-bar { align-items: flex-start; flex-direction: column; gap: 5px; }
    .site-page .curator-disclaimer { padding-bottom: calc(11px + env(safe-area-inset-bottom)); }
    .curator-prompt-grid { grid-template-columns: 1fr; }
    .curator-landing-shell,
    .curator-landing-prompts,
    .curator-answer-example { grid-template-columns: 1fr; }
    .curator-landing-portrait { min-height: 0; }
    .curator-landing-portrait img { min-height: 0; aspect-ratio: 16 / 10; }
  }

  @media (max-width: 480px) {
    .curator-launch { right: max(10px, env(safe-area-inset-right)); bottom: max(10px, env(safe-area-inset-bottom)); min-width: 162px; min-height: 56px; grid-template-columns: 38px minmax(0, 1fr) 7px; padding: 6px 10px 6px 6px; }
    .curator-launch-mark { width: 38px; height: 38px; }
    .curator-launch-copy small { font-size: .52rem; }
    .site-page .curator-launch-copy strong { font-size: .94rem; }
    .curator-body { padding: 11px 11px 14px; }
    .curator-form { padding: 10px 11px 8px; }
    .curator-compose { grid-template-columns: 1fr; }
    .curator-compose button { min-height: 43px; }
    .site-page .curator-disclaimer { padding-inline: 11px; }
    .curator-landing-prompt-grid { grid-template-columns: 1fr; }
    .curator-landing-prompt-grid button { min-height: 94px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .curator-launch,
    .curator-landing-prompt-grid button { transition: none; }
    .curator-message[data-pending="true"] .curator-message-bubble p::after { animation-duration: 1.4s; }
  }
}

@media print {
  .curator-launch,
  .curator-dialog { display: none !important; }
}

/* ---------------------------------------------------------------------------
   Rivet metering UX (appended block - nothing above is modified).

   Two surfaces, both injected by curator.js:
     .curator-allowance  compact meter that rides in the dialog service bar.
     .curator-gate       402/429 gate card pinned above the composer.

   The service bar is the light paper panel, so the meter reads as ink on paper.
   The gate card deliberately flips to the dark shell tokens so a blocked state
   is legible as an interruption rather than another transcript bubble.
   --------------------------------------------------------------------------- */
@media screen {
  .curator-allowance {
    flex: 0 1 auto;
    max-width: 48%;
    margin-left: auto;
    border: 1px solid color-mix(in srgb, var(--line) 40%, #fff);
    border-radius: 999px;
    background: color-mix(in srgb, var(--paper) 55%, #fff);
    color: color-mix(in srgb, var(--ink) 72%, #fff);
    padding: 5px 9px;
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .03em;
    line-height: 1.25;
    text-align: right;
  }
  .curator-allowance[data-state="loading"] { color: #765900; }
  .curator-allowance[data-state="unknown"] { color: #536168; }
  .curator-allowance[data-state="low"] {
    border-color: color-mix(in srgb, var(--orange) 70%, #fff);
    background: rgb(255 138 61 / 12%);
    color: #96460f;
  }
  .curator-allowance[data-state="empty"] {
    border-color: #a92f26;
    background: rgb(169 47 38 / 10%);
    color: #8f251e;
  }

  /* Submit stays a real disabled control; the gate card and the meter carry
     the reason, and both are wired into the composer's aria-describedby. */
  .curator-compose button[data-blocked="true"]:disabled {
    border-color: #a92f26;
    background: rgb(169 47 38 / 10%);
    color: #8f251e;
  }

  .curator-gate {
    display: grid;
    border-top: 1px solid #c6cbc5;
    background: #fffdf8;
    padding: 12px 15px;
  }
  .curator-gate[hidden] { display: none; }

  .curator-gate-card {
    display: grid;
    gap: 8px;
    border: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
    border-left: 5px solid var(--orange);
    border-radius: 3px 3px 13px 3px;
    background: var(--ink);
    color: var(--paper);
    padding: 13px 14px;
  }
  .curator-gate-card[data-variant="retry"] { border-left-color: var(--ssl-yellow, #f0c646); }

  .site-page .curator-gate-title {
    margin: 0;
    color: #fff;
    font: 950 .92rem/1.25 inherit;
  }
  .site-page .curator-gate-message {
    margin: 0;
    color: color-mix(in srgb, var(--paper) 88%, var(--ink));
    font-size: .8rem;
    line-height: 1.5;
  }
  .site-page .curator-gate-note {
    margin: 0;
    color: color-mix(in srgb, var(--paper) 62%, var(--ink));
    font-size: .7rem;
    line-height: 1.45;
  }

  .curator-gate-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 2px;
  }
  .curator-gate-cta {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--orange);
    border-radius: 3px 3px 11px 3px;
    background: var(--orange);
    color: var(--ink);
    padding: 9px 13px;
    font: 900 .74rem/1.15 inherit;
    text-decoration: none;
  }
  .curator-gate-cta:hover {
    border-color: color-mix(in srgb, var(--orange) 72%, #fff);
    background: color-mix(in srgb, var(--orange) 72%, #fff);
    color: var(--ink);
  }
  .curator-gate-cta[data-emphasis="secondary"] {
    background: transparent;
    color: var(--orange);
  }
  .curator-gate-cta[data-emphasis="secondary"]:hover {
    background: rgb(255 138 61 / 14%);
    color: var(--orange);
  }
  .curator-gate-dismiss {
    min-height: 40px;
    margin-left: auto;
    border: 1px solid color-mix(in srgb, var(--paper) 32%, transparent);
    border-radius: 3px 3px 10px 3px;
    background: transparent;
    color: var(--paper);
    padding: 9px 11px;
    font: 850 .7rem/1.15 inherit;
    cursor: pointer;
  }
  .curator-gate-dismiss:hover {
    border-color: var(--ssl-yellow, #f0c646);
    color: var(--ssl-yellow, #f0c646);
  }

  .curator-gate-card:focus-visible,
  .curator-gate :where(a, button):focus-visible {
    outline: 3px solid var(--ssl-yellow, #f0c646);
    outline-offset: 3px;
  }

  @media (max-width: 700px) {
    .curator-allowance { max-width: 100%; margin-left: 0; text-align: left; }
  }

  @media (max-width: 480px) {
    .curator-gate { padding: 10px 11px; }
    .curator-gate-actions { flex-direction: column; align-items: stretch; }
    .curator-gate-cta,
    .curator-gate-dismiss { justify-content: center; margin-left: 0; text-align: center; }
  }

  @media (prefers-reduced-motion: reduce) {
    .curator-gate-cta,
    .curator-gate-dismiss { transition: none; }
  }
}
