/* Silky label system: one grid, natural type spacing, rules between records. */
@font-face { font-family: "IBM Plex Mono"; src: url("fonts/IBMPlexMono-Regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }
:root {
    color-scheme: light;
    --paper: #f7f6f2;
    --white: #fff;
    --ink: #191919;
    --muted: #62625e;
    --line: #cacac4;
    --accent: #126494;
    --blue: #85c8ed;
    --pale: #e5f2fa;
    --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
    --page-width: 1200px;
    --gutter: clamp(16px, 3vw, 40px);
    color: var(--ink);
    background: var(--paper);
    font-family: var(--sans);
    font-synthesis: none;
    -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); line-height: 1.5; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-underline-offset: 4px; }
button, a { touch-action: manipulation; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
::selection { background: var(--blue); color: var(--ink); }
h1, h2, h3 { font-family: var(--sans); font-weight: 800; line-height: 1.08; text-wrap: balance; }
h1 { font-size: clamp(36px, 5.6vw, 72px); }
h2 { font-size: clamp(26px, 3vw, 38px); }
h3 { font-size: 22px; }
h1 em, h2 em { color: inherit; font-style: normal; font-weight: inherit; }
.eyebrow, .section-meta, .panel-kicker, .small, .micro, .fine-print, .back-link { font-family: var(--mono); }
.eyebrow { display: block; color: var(--muted); font-size: 11px; line-height: 1.5; margin: 0 0 8px; }
.button, .button.primary, .site-header-action {
    display: inline-flex; justify-content: center; align-items: center; gap: 20px;
    min-height: 44px; padding: 11px 16px; border: 1px solid var(--ink);
    border-radius: 0; background: var(--ink); color: white; font: 600 13px/1.5 var(--sans); text-decoration: none;
}
.button:hover:not(:disabled), .button.primary:hover, .site-header-action:hover { background: #343434; }
.button-soft { background: var(--white); color: var(--ink); }
.button-soft:hover:not(:disabled) { background: var(--pale) !important; }
button:disabled { opacity: .5; cursor: not-allowed; }
input:not([type=checkbox]):not([type=radio]), select, .search-label { border-radius: 0; }
.preview-motion { min-height: 44px; border: 1px solid var(--line); border-radius: 0; padding: 9px 12px; background: var(--white); color: var(--ink); font: 11px var(--mono); cursor: pointer; }
.preview-motion:hover, .preview-motion[aria-pressed=true] { background: var(--pale); border-color: var(--accent); }
.label-meta { display: flex; justify-content: space-between; gap: 16px; font: 11px/1.5 var(--mono); color: var(--muted); }
.site-footer, .shop-footer, .landing-footer, .guide-footer, .inspector-footer { font-family: var(--mono); font-size: 11px; }
.wordmark, .wordmark:hover { font: 800 24px/1 var(--sans); color: var(--ink); }
/* Adjacent records carry the rule; the final record has no trailing line. */
.detail-specs dt:last-of-type, .detail-specs dd:last-of-type, .spec-table tbody tr:last-child td, .guide-table tbody tr:last-child, .reference-detail:last-child { border-bottom: 0; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }
@media print { :root { --paper: white; --ink: black; --muted: #444; } }
