    :root {
      color-scheme: dark;
      --paper: #0a0a0a;
      --paper-2: #141412;
      --ink: #f4f4f2;
      --muted: #a7a7a0;
      --line: #2a2a26;
      --panel: #101010;
      --accent: #d9a441;
      --accent-ink: #0a0a0a;
      --steel: #8f8f88;
      --success: #8ab54e;
      --shadow: 0 18px 45px rgba(0, 0, 0, .45);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    /* Arial/Helvetica first so Windows and macOS use the face these metrics were tuned on.
       Liberation Sans is the Arial-metric stand-in on Linux. size-adjust is set so the
       hero headline wraps onto the same lines as Archivo at 412px (5) and 1280px (7). */
    @font-face {
      font-family: "Archivo Fallback";
      src: local("Arial"), local("ArialMT"), local("Arial MT"), local("Helvetica"), local("Helvetica Neue"), local("Liberation Sans"), local("Arimo");
      ascent-override: 88.9575%;
      descent-override: 21.2769%;
      line-gap-override: 0%;
      size-adjust: 98.6988%;
    }
    @font-face {
      font-family: "Archivo Fallback";
      src: local("Arial"), local("ArialMT"), local("Arial MT"), local("Helvetica"), local("Helvetica Neue"), local("Liberation Sans"), local("Arimo");
      font-weight: 700;
      font-style: normal;
      ascent-override: 88.9575%;
      descent-override: 21.2769%;
      line-gap-override: 0%;
      size-adjust: 98.6988%;
    }
    @font-face {
      font-family: "Archivo Fallback";
      src: local("Arial"), local("ArialMT"), local("Arial MT"), local("Helvetica"), local("Helvetica Neue"), local("Liberation Sans"), local("Arimo");
      font-weight: 800;
      font-style: normal;
      ascent-override: 88.9575%;
      descent-override: 21.2769%;
      line-gap-override: 0%;
      size-adjust: 108%;
    }
    @font-face {
      font-family: "Archivo Fallback";
      src: local("Arial"), local("ArialMT"), local("Arial MT"), local("Helvetica"), local("Helvetica Neue"), local("Liberation Sans"), local("Arimo");
      font-weight: 900;
      font-style: normal;
      ascent-override: 82%;
      descent-override: 18%;
      line-gap-override: 0%;
      size-adjust: 109%;
    }
    @font-face {
      font-family: "Archivo Fallback";
      src: local("Arial"), local("ArialMT"), local("Arial MT"), local("Helvetica"), local("Helvetica Neue"), local("Liberation Sans"), local("Arimo");
      font-weight: 800;
      font-style: italic;
      ascent-override: 82%;
      descent-override: 18%;
      line-gap-override: 0%;
      size-adjust: 109%;
    }
    @font-face {
      font-family: "Archivo Fallback";
      src: local("Arial"), local("ArialMT"), local("Arial MT"), local("Helvetica"), local("Helvetica Neue"), local("Liberation Sans"), local("Arimo");
      font-weight: 900;
      font-style: italic;
      ascent-override: 82%;
      descent-override: 18%;
      line-gap-override: 0%;
      size-adjust: 109.6%;
    }
    /* Phones at or under 390px need a wider fallback: Archivo wraps to 7 lines there, and 109% stops at 6. */
    @font-face {
      font-family: "Archivo Fallback Wide";
      src: local("Arial"), local("ArialMT"), local("Arial MT"), local("Helvetica"), local("Helvetica Neue"), local("Liberation Sans"), local("Arimo");
      font-weight: 900;
      font-style: italic;
      ascent-override: 82%;
      descent-override: 18%;
      line-gap-override: 0%;
      size-adjust: 116%;
    }
    @font-face {
      font-family: "IBM Plex Mono Fallback";
      src: local("Cousine"), local("Cousine Regular"), local("Liberation Mono"), local("Courier New");
      ascent-override: 102.5167%;
      descent-override: 27.5045%;
      size-adjust: 99.9837%;
    }
    body {
      margin: 0;
      background: var(--paper);
      color: var(--ink);
      font-family: Archivo, "Archivo Fallback", ui-sans-serif, sans-serif;
      line-height: 1.55;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    button, input, textarea, select { font: inherit; }
    a { color: inherit; }
    .wrap { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
    .mono { font-family: "IBM Plex Mono", "IBM Plex Mono Fallback", ui-monospace, monospace; }
    .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

    .site-nav {
      position: sticky; top: 0; z-index: 20;
      border-bottom: 1px solid var(--line);
      background: color-mix(in srgb, var(--paper) 92%, transparent);
      backdrop-filter: blur(12px);
    }
    .nav-inner { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:nowrap; }
    .nav-links { display:flex; align-items:center; gap:18px; font-size:14px; font-weight:700; flex-wrap:nowrap; }
    .nav-links > * { flex-shrink:0; }
    .nav-links a { text-decoration:none; }
    @media (min-width: 1100px) { .nav-links { gap:28px; } }
    .nav-links a:hover { color:var(--accent); }
    .brand { display:flex; align-items:center; justify-content:center; gap:12px; text-decoration:none; min-width:44px; min-height:44px; }
    .dn-mono { font-weight:900; font-style:italic; font-size:27px; line-height:1; letter-spacing:-.05em; color:var(--ink); }
    .dn-mono span { color:var(--accent); margin-left:-1px; }
    .brand-name { font-weight:900; font-style:italic; text-transform:uppercase; font-size:19px; letter-spacing:-.01em; line-height:1; white-space:nowrap; }
    .brand-name em { font-style:italic; color:var(--accent); }
    .brand-loc { font-family:"IBM Plex Mono", "IBM Plex Mono Fallback", monospace; font-size:11px; color:var(--muted); white-space:nowrap; }
    .nav-cta {
      text-decoration:none; background:var(--accent); color:var(--accent-ink); padding:0 16px;
      font-size:13px; font-weight:800; border:1px solid var(--accent);
      text-transform:uppercase; letter-spacing:.02em;
      display:inline-flex; align-items:center; min-height:44px; line-height:1; white-space:nowrap;
    }
    .nav-sections { display:none; }
    .nav-menu {
      display:none; background:transparent; border:1px solid var(--line); color:var(--ink);
      padding:0 14px; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.02em;
      cursor:pointer; align-items:center; min-height:44px; line-height:1; white-space:nowrap;
    }
    .nav-menu:hover, .nav-menu[aria-expanded="true"] { border-color:var(--accent); color:var(--accent); }

    .hero { padding:40px 0 64px; border-bottom:1px solid var(--line); }
    .hero-grid { display:grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); gap:70px; align-items:start; }
    .hero-lead { display:flex; flex-direction:column; align-items:flex-start; }
    .hero-lead h1 { margin-bottom:12px; height:calc(7 * 0.98em); }
    @media (max-width: 860px) { .hero-lead h1 { height:calc(3 * 0.98em); } }
    @media (max-width: 635px) { .hero-lead h1 { height:calc(4 * 0.98em); } }
    @media (max-width: 620px) { .hero-lead h1 { height:calc(3 * 0.98em); } }
    @media (max-width: 595px) { .hero-lead h1 { height:calc(4 * 0.98em); } }
    @media (max-width: 427px) { .hero-lead h1 { height:calc(5 * 0.98em); } }
    @media (max-width: 409px) { .hero-lead h1 { height:calc(6 * 0.98em); } }
    @media (max-width: 390px) {
      .hero-lead h1 { font-family:Archivo, "Archivo Fallback Wide", ui-sans-serif, sans-serif; height:calc(7 * 0.98em); }
    }
    .hero-lead .hero-actions { order:2; margin-top:6px; }
    .hero-lead .hero-copy { order:3; margin-top:22px; }
    .hero-lead .hero-facts { order:4; }
    .hero-alt { display:inline-flex; align-items:center; min-height:44px; color:var(--muted); font:600 13px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; letter-spacing:.04em; text-transform:uppercase; text-decoration:underline; text-underline-offset:3px; }
    .hero-alt:hover { color:var(--accent); }
    .eyebrow { display:flex; align-items:center; gap:12px; color:var(--accent); font:600 12px/1.2 "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; letter-spacing:.08em; text-transform:uppercase; }
    .eyebrow::before { content:""; display:block; width:34px; height:2px; background:currentColor; }
    h1 { margin:20px 0 22px; max-width:760px; font-size:clamp(46px, 6.4vw, 84px); line-height:.98; letter-spacing:-.055em; font-weight:800; }
    h1 em { color:var(--accent); }
    .hero-copy { max-width:635px; color:var(--muted); font-size:clamp(17px, 2vw, 21px); }
    .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
    .button {
      display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px;
      padding:0 20px; border:1px solid var(--ink); text-decoration:none; font-weight:800;
      background:var(--ink); color:var(--paper); cursor:pointer;
      text-transform:uppercase; letter-spacing:.02em; font-size:14px;
    }
    .button.secondary { background:transparent; color:var(--ink); }
    .button.accent { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }
    .button:hover { transform:translateY(-1px); }
    .button:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible, summary:focus-visible { outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset:3px; }
    .hero-facts { display:grid; grid-template-columns:repeat(3, 1fr); gap:0; margin-top:48px; border-top:1px solid var(--line); }
    .fact { padding:18px 18px 0 0; }
    .fact + .fact { border-left:1px solid var(--line); padding-left:18px; }
    .fact strong { display:block; font:600 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.05em; }
    .fact span { display:block; color:var(--muted); margin-top:4px; font-size:14px; }

    .machine-plate { position:relative; min-height:530px; background:#111110; color:#f4f4f2; border:1px solid var(--line); overflow:hidden; box-shadow:var(--shadow); }
    .machine-plate::before { content:""; position:absolute; inset:18px; border:1px solid color-mix(in srgb, #f4f4f2 24%, transparent); pointer-events:none; }
    .plate-top { position:absolute; inset:28px 30px auto; display:flex; justify-content:space-between; color:color-mix(in srgb, #f4f4f2 62%, transparent); font:500 11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; letter-spacing:.08em; text-transform:uppercase; }
    .machine-plate svg { width:100%; height:470px; margin-top:42px; display:block; }
    .part-outline { fill:none; stroke:#f4f4f2; stroke-width:2; vector-effect:non-scaling-stroke; }
    .part-fill { fill:color-mix(in srgb, #f4f4f2 8%, transparent); stroke:#f4f4f2; stroke-width:1.5; vector-effect:non-scaling-stroke; }
    .part-accent { fill:var(--accent); stroke:var(--accent); }
    .dimension { stroke:color-mix(in srgb, #f4f4f2 38%, transparent); stroke-width:1; stroke-dasharray:4 5; vector-effect:non-scaling-stroke; }
    .svg-label { fill:color-mix(in srgb, #f4f4f2 64%, transparent); font:11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; letter-spacing:.04em; }
    .plate-tag { position:absolute; right:28px; bottom:26px; padding:8px 10px; border:1px solid color-mix(in srgb, #f4f4f2 36%, transparent); font:11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; }

    .trust-bar { border-bottom:1px solid var(--line); padding:18px 0; }
    .trust-bar .wrap { display:flex; flex-wrap:wrap; gap:10px 40px; }
    .trust-item { display:flex; align-items:baseline; gap:10px; font:600 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
    .trust-item::before { content:""; width:8px; height:8px; background:var(--accent); flex:none; position:relative; top:-1px; }
    .trust-item b { color:var(--ink); font-weight:600; }

    section { padding:86px 0; }
    .section-head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:38px; }
    .section-head h2 { max-width:660px; margin:0; font-size:clamp(34px, 5vw, 62px); line-height:1; letter-spacing:-.045em; }
    .section-head p { max-width:410px; margin:0; color:var(--muted); }

    .how-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; }
    .how-step { border:1px solid var(--line); background:var(--panel); padding:24px 22px 26px; }
    .how-step .n { color:var(--accent); font:600 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; }
    .how-step h3 { margin:10px 0 7px; font-size:19px; }
    .how-step p { margin:0; color:var(--muted); font-size:14px; }
    .how-cta { margin-top:26px; }

    .cap-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:start; }
    .spec-table { width:100%; border-collapse:collapse; }
    .spec-table th, .spec-table td { border:1px solid var(--line); padding:13px 15px; text-align:left; font-size:14px; vertical-align:top; }
    .spec-table th { font:600 11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.06em; color:var(--accent); background:var(--paper-2); width:190px; }
    .spec-table td { color:var(--ink); }
    .spec-table td span { color:var(--muted); }
    .cap-copy h3 { margin:0 0 12px; font-size:24px; }
    .cap-copy p { color:var(--muted); margin:0 0 16px; font-size:15px; }
    .cap-copy p strong { color:var(--ink); }

    .mat-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin-top:44px; }
    .mat-card { border:1px solid var(--line); background:var(--panel); padding:24px 22px 26px; }
    .mat-card .mat-name { font-size:30px; font-weight:900; font-style:italic; text-transform:uppercase; letter-spacing:-.02em; line-height:1; }
    .mat-card .mat-tag { color:var(--accent); font:600 11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.06em; margin-top:8px; }
    .mat-card p { color:var(--muted); font-size:14px; margin:14px 0 0; }
    .mat-card p strong { color:var(--ink); }

    .product-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
    .product-card { position:relative; background:var(--panel); border:1px solid var(--line); min-height:390px; display:flex; flex-direction:column; overflow:hidden; }
    .product-card.large { grid-column:span 7; }
    .product-card.small { grid-column:span 5; }
    .product-card.third { grid-column:span 4; min-height:350px; }
    .product-visual { flex:1; min-height:220px; display:grid; place-items:center; background:var(--paper-2); border-bottom:1px solid var(--line); }
    .product-visual svg { width:72%; max-height:190px; }
    .product-visual.photo { display:block; position:relative; }
    .product-visual.photo picture { position:absolute; inset:0; display:block; }
    .product-visual.photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
    .shop-grid .product-visual.photo { flex:none; width:100%; aspect-ratio:1 / 1; min-height:0; height:auto; }
    .shop-grid .product-visual.photo.trio-visual { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:2px; background:var(--line); }
    .shop-grid .product-visual.photo.trio-visual picture { position:relative; inset:auto; height:100%; min-width:0; }
    .shop-grid .product-visual.photo.trio-visual img { position:relative; inset:auto; width:100%; height:100%; object-fit:cover; }
    .p-shape { fill:none; stroke:var(--ink); stroke-width:3; vector-effect:non-scaling-stroke; }
    .p-fill { fill:color-mix(in srgb, var(--ink) 10%, transparent); stroke:var(--ink); stroke-width:2.5; vector-effect:non-scaling-stroke; }
    .p-accent { fill:var(--accent); stroke:var(--accent); }
    .product-body { padding:22px 22px 24px; }
    .product-number { color:var(--accent); font:600 11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; }
    .product-body h3 { margin:8px 0 7px; font-size:22px; letter-spacing:-.025em; }
    .product-body p { margin:0; color:var(--muted); font-size:14px; }
    .spec-row { display:flex; flex-wrap:wrap; gap:7px; margin-top:17px; }
    .spec { border:1px solid var(--line); padding:5px 8px; font:500 10px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; color:var(--muted); }
    .app-link { display:inline-flex; align-items:center; min-height:44px; margin-top:8px; color:var(--accent); font:600 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.05em; text-decoration:none; }
    .app-link:hover { text-decoration:underline; }

    .price-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
    .price-card { border:1px solid var(--line); background:var(--panel); padding:26px 24px 28px; }
    .price-card .amount { font-size:38px; font-weight:900; font-style:italic; letter-spacing:-.03em; line-height:1; }
    .price-card .amount em { color:var(--accent); font-style:italic; }
    .price-card h3 { margin:12px 0 7px; font-size:19px; }
    .price-card p { margin:0; color:var(--muted); font-size:14px; }
    .drivers { margin-top:34px; border-top:1px solid var(--line); padding-top:24px; display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; }
    .drivers h3 { margin:0; font-size:20px; }
    .drivers ul { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:10px 26px; }
    .drivers li { color:var(--muted); font-size:14px; padding-left:18px; position:relative; }
    .drivers li::before { content:""; position:absolute; left:0; top:9px; width:8px; height:2px; background:var(--accent); }
    .drivers li strong { color:var(--ink); }

    .custom { background:#0d0d0c; color:#f4f4f2; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
    .custom .section-head p { color:color-mix(in srgb, #f4f4f2 64%, transparent); }
    .custom-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:start; }
    .steps { counter-reset:steps; border-top:1px solid color-mix(in srgb, #f4f4f2 25%, transparent); }
    .step { position:relative; padding:24px 0 24px 52px; border-bottom:1px solid color-mix(in srgb, #f4f4f2 25%, transparent); }
    .step::before { counter-increment:steps; content:"0" counter(steps); position:absolute; left:0; top:27px; color:var(--accent); font:600 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; }
    .step h3 { margin:0 0 6px; font-size:18px; }
    .step p { margin:0; color:color-mix(in srgb, #f4f4f2 62%, transparent); font-size:14px; }
    .quote-card { background:#f4f4f2; color:#0a0a0a; padding:30px; }
    .quote-card h3 { margin:0 0 6px; font-size:26px; letter-spacing:-.03em; }
    .quote-card > p { margin:0 0 24px; color:#55554f; font-size:14px; }
    .quote-card input, .quote-card select, .quote-card textarea { background:#ffffff; color:#0a0a0a; border-color:#c7c7c0; color-scheme:light; }
    .quote-card .button.secondary { background:transparent; color:#0a0a0a; border-color:#0a0a0a; }
    .quote-card .status { color:#4d7c0f; }
    .quote-card .status.error { color:#b3352b; }
    .quote-card .quote-note { color:#55554f; }
    .quote-card a { color:#0a0a0a; }
    .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
    .field { display:flex; flex-direction:column; gap:7px; }
    .field.full { grid-column:1/-1; }
    label { font:600 11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.06em; }
    label .opt { color:var(--muted); text-transform:none; letter-spacing:0; font-weight:500; }
    .quote-card label .opt { color:#707068; }
    input, select, textarea { width:100%; color:var(--ink); background:var(--panel); border:1px solid var(--line); border-radius:0; padding:12px 13px; min-height:46px; }
    textarea { min-height:118px; resize:vertical; }
    input[type="file"] { padding:10px 13px; }
    .file-help { font-size:12px; color:#55554f; line-height:1.45; }
    .file-fallback { display:block; margin-top:8px; font-size:13px; line-height:1.45; color:var(--muted); }
    .file-fallback a { color:var(--accent); }
    .quote-card .file-fallback { color:#3f3f3a; }
    .quote-card .file-fallback a { color:#0a0a0a; }
    .form-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; align-items:center; }
    .status { min-height:20px; color:var(--success); font:500 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; }
    .quote-note { margin-top:15px; color:var(--muted); font-size:12px; }

    .process-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
    .process-intro { position:sticky; top:104px; }
    .process-intro h2 { margin:16px 0 18px; font-size:clamp(40px, 5vw, 68px); line-height:1; letter-spacing:-.05em; }
    .process-intro p { color:var(--muted); max-width:500px; }
    .process-intro p strong { color:var(--ink); }
    .shop-note { margin-top:26px; border:1px solid var(--line); background:var(--panel); padding:18px 20px; max-width:500px; }
    .shop-note .when { color:var(--accent); font:600 11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.06em; }
    .shop-note p { margin:8px 0 0; font-size:14px; max-width:none; }
    .process-list { border-top:1px solid var(--line); }
    .process-item { display:grid; grid-template-columns:60px 1fr; gap:14px; padding:27px 0; border-bottom:1px solid var(--line); }
    .process-item .num { color:var(--accent); font:600 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; padding-top:5px; }
    .process-item h3 { margin:0 0 7px; font-size:20px; }
    .process-item p { margin:0; color:var(--muted); font-size:14px; }
    .sample-list { margin-top:34px; }
    .sample-list h3 { font-size:20px; margin:0 0 6px; }
    .sample-list > p { color:var(--muted); font-size:14px; margin:0 0 18px; }
    .sample { border-top:1px solid var(--line); padding:16px 0; }
    .sample strong { display:block; font-size:15px; }
    .sample span { color:var(--muted); font-size:14px; }

    .faq-list { border-top:1px solid var(--line); max-width:920px; }
    .faq-item { border-bottom:1px solid var(--line); }
    .faq-item summary { cursor:pointer; padding:20px 34px 20px 0; font-weight:800; font-style:italic; text-transform:uppercase; letter-spacing:-.01em; font-size:17px; list-style:none; position:relative; }
    .faq-item summary::-webkit-details-marker { display:none; }
    .faq-item summary::after { content:"+"; position:absolute; right:4px; top:16px; color:var(--accent); font-style:normal; font-size:22px; }
    .faq-item[open ] summary::after { content:"–"; }
    .faq-item p { color:var(--muted); margin:0 0 22px; max-width:760px; font-size:15px; }

    .fit-strip { background:var(--accent); color:var(--accent-ink); padding:40px 0; }
    .fit-inner { display:grid; grid-template-columns:1.35fr .65fr; gap:50px; align-items:center; }
    .fit-inner h2 { margin:0; font-size:clamp(30px, 4.2vw, 52px); line-height:1; letter-spacing:-.045em; }
    .fit-inner p { margin:10px 0 0; color:rgba(10,10,10,.68); }
    .fit-inner .button { background:#0a0a0a; color:#f4f4f2; border-color:#0a0a0a; justify-self:end; }

    footer { padding:38px 0 52px; }
    .footer-inner { display:flex; justify-content:space-between; gap:24px; align-items:flex-end; }
    .footer-brand strong { display:block; font-size:20px; }
    .footer-brand span, .footer-meta { color:var(--muted); font-size:13px; }
    .footer-meta { text-align:right; line-height:1.7; }
    .footer-meta a { display:inline-flex; align-items:center; min-height:44px; }
    .footer-links { display:flex; flex-wrap:wrap; gap:4px 18px; margin-top:20px; font-size:14px; font-weight:700; }
    .footer-links a, .footer-links button { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
    .footer-links a:hover { color:var(--accent); }
    .footer-links button { background:none; border:0; padding:0; color:inherit; font:inherit; cursor:pointer; }
    .footer-links button:hover { color:var(--accent); }

    /* Brand display type — heavy italic block lettering (PACEN system) */
    h1, .section-head h2, .process-intro h2, .fit-inner h2, .quote-card h3 {
      font-weight:900; font-style:italic; text-transform:uppercase; letter-spacing:-.015em;
    }
    .product-body h3, .step h3, .process-item h3, .how-step h3, .cap-copy h3, .drivers h3, .sample-list h3 {
      font-weight:800; font-style:italic; text-transform:uppercase; letter-spacing:-.01em;
    }
    ::selection { background:var(--accent); color:var(--accent-ink); }
    .wave { display:block; width:100%; height:auto; }
    .wave path { fill:none; stroke:var(--ink); stroke-width:17; stroke-linejoin:miter; }
    .hero-wave { margin-top:54px; }
    .footer-wordmark { font-weight:900; font-style:italic; text-transform:uppercase; font-size:clamp(36px, 5.4vw, 58px); line-height:.95; letter-spacing:-.015em; }
    .footer-wordmark em { font-style:italic; color:var(--accent); }
    .footer-wave { width:min(560px, 100%); margin-top:10px; }
    .footer-brand > span { display:block; margin-top:14px; }
    @media (max-width: 620px) { .hero-wave { margin-top:36px; } }

    @media (max-width: 899px) { .brand-loc { display:none; } }
    @media (max-width: 767px) {
      .nav-menu { display:inline-flex; }
      .nav-links .nav-shop, .nav-links .nav-parts { display:none; }
      .nav-sections {
        position:absolute; left:0; right:0; top:100%; z-index:30;
        flex-direction:column; gap:0;
        background:color-mix(in srgb, var(--paper) 96%, transparent);
        backdrop-filter:blur(12px);
        border-bottom:1px solid var(--line);
        padding:4px 22px 10px;
      }
      .nav-sections.is-open { display:flex; }
      .nav-sections a { display:flex; align-items:center; min-height:44px; padding:10px 0; border-bottom:1px solid var(--line); font-size:16px; }
      .nav-sections a:last-child { border-bottom:0; }
    }
    @media (max-width: 420px) {
      .brand-name { display:none; }
      .nav-inner { gap:8px; }
      .nav-links { gap:6px; }
      .nav-cart, .nav-cta, .nav-menu { padding:0 10px; }
    }
    @media (max-width: 860px) {
      .hero { padding-top:46px; }
      .hero-grid, .custom-grid, .process-grid, .fit-inner, .cap-grid, .drivers { grid-template-columns:1fr; }
      .hero-grid { gap:42px; }
      .machine-plate { min-height:430px; }
      .machine-plate svg { height:390px; }
      .section-head { display:block; }
      .section-head p { margin-top:16px; }
      .product-card.large, .product-card.small, .product-card.third { grid-column:span 6; }
      .how-grid, .mat-grid, .price-grid { grid-template-columns:1fr 1fr; }
      .process-intro { position:static; }
      .fit-inner .button { justify-self:start; }
    }
    @media (max-width: 620px) {
      .wrap { width:min(100% - 28px, 1180px); }
      .nav-inner { min-height:58px; gap:12px; }
      .nav-links { gap:8px; }
      .brand-name { font-size:16px; }
      .dn-mono { font-size:23px; }
      .nav-cta, .nav-menu { padding:0 12px; }
      .hero { padding:38px 0 50px; }
      h1 { font-size:44px; }
      .hero-copy { font-size:17px; }
      .hero-facts { grid-template-columns:1fr; }
      .fact { padding:15px 0; border-bottom:1px solid var(--line); }
      .fact + .fact { border-left:0; padding-left:0; }
      .machine-plate { min-height:360px; }
      .machine-plate svg { height:335px; margin-top:32px; }
      .plate-top { inset:21px 22px auto; }
      section { padding:62px 0; }
      .section-head h2 { font-size:39px; }
      .product-grid { display:block; }
      .product-card { margin-bottom:14px; min-height:0 !important; }
      .product-visual { min-height:190px; }
      .product-body { padding:19px; }
      .how-grid, .mat-grid, .price-grid { grid-template-columns:1fr; }
      .drivers ul { grid-template-columns:1fr; }
      .spec-table th { width:118px; padding:11px 10px; }
      .spec-table td { padding:11px 10px; }
      .custom-grid { gap:36px; }
      .quote-card { padding:22px 18px; margin-inline:-2px; }
      .form-grid { grid-template-columns:1fr; }
      .field.full { grid-column:auto; }
      .form-actions .button { width:100%; }
      .process-grid { gap:38px; }
      .footer-inner { display:block; }
      .footer-meta { text-align:left; margin-top:22px; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior:auto; }
      *, *::before, *::after { transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
    }

    /* Shop — nav entry points */
    .nav-shop {
      text-decoration:none; border:1px solid var(--line); color:var(--ink); padding:0 14px;
      font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.02em;
      display:inline-flex; align-items:center; min-height:44px; line-height:1; white-space:nowrap;
    }
    .nav-shop[aria-current="page"] { border-color:var(--accent); color:var(--accent); }
    .nav-links a.nav-shop:hover { border-color:var(--accent); color:var(--accent); }
    .nav-cart {
      background:transparent; border:1px solid var(--line); color:var(--ink); padding:0 14px;
      font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.02em; cursor:pointer;
      display:inline-flex; align-items:center; gap:8px; min-height:44px; line-height:1; white-space:nowrap;
    }
    .nav-cart:hover { border-color:var(--accent); color:var(--accent); }
    .cart-badge { background:var(--accent); color:var(--accent-ink); font:600 11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; padding:2px 6px; min-width:20px; text-align:center; }
    .cart-badge.empty { background:var(--line); color:var(--muted); }
    @media (min-width: 768px) { .nav-links a.nav-shop { display:inline-flex; } }
    @media (max-width: 620px) {
      .nav-inner { flex-wrap:nowrap; padding:8px 0; }
    }

    /* Shop — view */
    .shop-hero { padding:44px 0 36px; border-bottom:1px solid var(--line); }
    .shop-hero h1 { margin:12px 0 14px; font-size:clamp(36px, 5.6vw, 62px); line-height:1; letter-spacing:-.04em; font-weight:900; font-style:italic; text-transform:uppercase; max-width:840px; }
    .shop-hero h1 em { color:var(--accent); font-style:italic; }
    .shop-hero p { max-width:660px; color:var(--muted); font-size:clamp(16px, 2vw, 19px); margin:0; }
    .hero-anchor { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin-top:18px; }
    .hero-price { font-size:22px; font-weight:900; font-style:italic; letter-spacing:-.02em; color:var(--ink); border:1px solid var(--accent); padding:6px 12px; }
    .hero-anchor-meta { font:600 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
    .hero-anchor-meta b { color:var(--ink); }
    .fitment-line { margin:12px 0 0 !important; padding:10px 12px; border:1px solid var(--line); background:var(--paper-2); font-size:13px !important; color:var(--ink) !important; line-height:1.45; }
    .fitment-line strong { color:var(--accent); font:600 11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.05em; display:inline-block; margin-right:6px; }
    .founder-block { border:1px solid var(--line); background:var(--panel); padding:26px 24px; margin-top:18px; display:grid; grid-template-columns:.8fr 1.2fr; gap:30px; align-items:start; }
    .founder-block h3 { margin:8px 0 0; font-size:22px; font-weight:800; font-style:italic; text-transform:uppercase; letter-spacing:-.01em; }
    .founder-block p { margin:0 0 12px; color:var(--muted); font-size:15px; }
    .founder-block p:last-child { margin-bottom:0; }
    .founder-block p strong { color:var(--ink); }
    .founder-block a { color:var(--accent); }
    .shop-back { display:inline-block; margin-top:24px; color:var(--accent); font:600 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.05em; text-decoration:none; }
    .shop-back:hover { text-decoration:underline; }
    .shop-strip { border-bottom:1px solid var(--line); padding:16px 0; }
    .shop-strip .wrap { display:flex; flex-wrap:wrap; gap:10px 36px; }
    .shop-buy { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:18px; }
    .price-tag { font-size:26px; font-weight:900; font-style:italic; letter-spacing:-.02em; }
    .add-cart { min-height:44px; padding:0 16px; font-size:13px; }
    .guarantee-box { border:1px solid var(--line); background:var(--panel); padding:26px 24px; margin-top:44px; display:grid; grid-template-columns:.8fr 1.2fr; gap:30px; align-items:start; }
    .guarantee-box h3 { margin:0; font-size:22px; font-weight:800; font-style:italic; text-transform:uppercase; letter-spacing:-.01em; }
    .guarantee-box p { margin:0; color:var(--muted); font-size:15px; }
    .guarantee-box p strong { color:var(--ink); }
    .shop-faq { margin-top:54px; }
    @media (max-width: 620px) { .guarantee-box { grid-template-columns:1fr; } .shop-hero { padding:44px 0 40px; } }

    /* Shop — slim header, category chips, two-up product grid */
    .shop-hero.slim { padding:30px 0 26px; }
    .shop-hero.slim h1 { font-size:clamp(30px, 4.4vw, 44px); margin:10px 0 10px; }
    .shop-hero.slim p { max-width:720px; font-size:clamp(15px, 1.8vw, 17px); }
    .shop-terms { margin:0 0 16px; max-width:none; font:600 12px/1.6 "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
    .shop-terms b { color:var(--ink); }
    .shop-hero.slim .shop-back { margin-top:16px; }
    .shop-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
    .shop-chip { border:1px solid var(--line); background:var(--panel); color:var(--muted); font-size:13px; font-weight:700; padding:9px 14px; min-height:44px; cursor:pointer; }
    .shop-chip:hover { color:var(--ink); border-color:var(--accent); }
    .shop-chip:first-child { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }
    .shop-card[id], #shop-products { scroll-margin-top:80px; }
    .shop-grid .product-body { display:flex; flex-direction:column; }
    .shop-grid .product-number { order:1; }
    .shop-grid .product-body h3 { order:2; }
    .shop-grid .shop-buy { order:3; margin-top:12px; }
    .shop-grid .product-body > p:not(.card-line),
    .shop-grid .fitment-line,
    .shop-grid .spec-row { order:4; }
    .shop-grid .product-card:not(.feature) .shop-buy { margin-top:12px; padding-top:0; }
    .shop-grid .product-card.feature { grid-column:1 / -1; flex-direction:row; min-height:0; }
    .shop-grid .feature .product-visual { flex:0 0 36%; min-height:0; border-bottom:0; border-right:1px solid var(--line); }
    .shop-grid .feature .product-body { flex:1; justify-content:center; }
    .feature-tag { display:inline-block; margin-left:8px; padding:2px 7px; border:1px solid var(--accent); color:var(--accent); font:600 10px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.05em; }
    @media (max-width: 860px) {
      .shop-grid .product-card.feature { flex-direction:column; }
      .shop-grid .feature .product-visual { flex:none; min-height:190px; border-right:0; border-bottom:1px solid var(--line); }
    }
    @media (max-width: 620px) {
      .shop-hero.slim { padding:24px 0 22px; }
      .product-grid.shop-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
      .shop-grid .product-card { margin-bottom:0; min-height:0; }
      .shop-grid .product-card.third { grid-column:auto; }
      .shop-grid .product-card.feature { grid-column:1 / -1; }
      .shop-grid .product-visual { min-height:118px; }
      .shop-grid .feature .product-visual { min-height:150px; }
      .shop-grid .product-visual svg { width:84%; max-height:110px; }
      .shop-grid .feature .product-visual svg { max-height:150px; }
      .shop-grid .product-body { padding:14px 13px 16px; }
      .shop-grid .product-body h3 { font-size:15.5px; margin:6px 0 5px; }
      .shop-grid .product-body p { font-size:12.5px; line-height:1.5; }
      .shop-grid .fitment-line { font-size:11.5px !important; padding:8px 9px; margin-top:10px !important; }
      .shop-grid .spec-row { margin-top:11px; gap:5px; }
      .shop-grid .shop-buy { flex-wrap:wrap; gap:8px; margin-top:13px; }
      .shop-grid .product-card:not(.feature) .shop-buy { padding-top:13px; }
      .shop-grid .price-tag { font-size:19px; }
      .shop-grid .add-cart { flex:1 1 auto; padding:0 10px; min-height:44px; font-size:12px; }
    }

    /* Shop — cart drawer */
    .cart-overlay { position:fixed; inset:0; background:rgba(0,0,0,.62); z-index:60; opacity:0; pointer-events:none; transition:opacity .2s ease; }
    .cart-overlay.open { opacity:1; pointer-events:auto; }
    .cart-drawer { position:fixed; top:0; right:0; height:100dvh; width:min(430px, 94vw); background:var(--paper-2); border-left:1px solid var(--line); z-index:61; transform:translateX(105%); transition:transform .25s ease; display:flex; flex-direction:column; box-shadow:var(--shadow); }
    .cart-drawer.open { transform:translateX(0); }
    .cart-head { display:flex; align-items:center; justify-content:space-between; padding:20px 22px; border-bottom:1px solid var(--line); }
    .cart-head h3 { margin:0; font-size:20px; font-weight:800; font-style:italic; text-transform:uppercase; }
    .cart-close { background:transparent; border:1px solid var(--line); color:var(--ink); width:44px; height:44px; cursor:pointer; font-size:15px; line-height:1; }
    .cart-close:hover { border-color:var(--accent); color:var(--accent); }
    .cart-body { flex:1; overflow-y:auto; padding:6px 22px 20px; }
    .cart-empty { color:var(--muted); font-size:14px; margin:18px 0 0; }
    .cart-item { display:grid; grid-template-columns:1fr auto; gap:8px 14px; padding:16px 0; border-bottom:1px solid var(--line); }
    .cart-item h4 { margin:0; font-size:15px; line-height:1.35; }
    .cart-item .unit { color:var(--muted); font:500 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; display:block; margin-top:3px; }
    .qty-ctl { display:inline-flex; align-items:center; border:1px solid var(--line); margin-top:8px; }
    .qty-ctl button { background:transparent; border:0; color:var(--ink); width:44px; height:44px; cursor:pointer; font-size:16px; }
    .qty-ctl button:hover { color:var(--accent); }
    .qty-ctl span { min-width:26px; text-align:center; font:600 13px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; }
    .cart-remove { background:none; border:0; color:var(--muted); cursor:pointer; font:500 11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.05em; padding:8px 4px; margin-top:6px; min-height:44px; }
    .cart-remove:hover { color:var(--accent); }
    .line-total { font-weight:800; font-style:italic; font-size:16px; text-align:right; }
    .ship-note { margin:16px 0 0; font:500 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; color:var(--accent); min-height:16px; }
    .cart-foot { border-top:1px solid var(--line); padding:20px 22px 24px; }
    .totals { display:grid; gap:7px; font-size:14px; margin-bottom:16px; }
    .totals .row { display:flex; justify-content:space-between; color:var(--muted); }
    .totals .row span:last-child { font-family:"IBM Plex Mono", "IBM Plex Mono Fallback", monospace; }
    .totals .row.grand { color:var(--ink); font-size:18px; font-weight:800; border-top:1px solid var(--line); padding-top:10px; margin-top:4px; }
    .totals .row.tax-note { display:block; color:var(--muted); font-size:12px; line-height:1.45; margin-top:2px; }
    .totals .row.tax-note span { font-family:inherit; }
    .cart-foot .button { width:100%; }
    .checkout-state { display:block; margin-top:12px; font:500 12px/1.55 "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; color:var(--muted); }
    .checkout-state b { color:var(--accent); font-weight:600; }
    .cart-status { display:block; min-height:18px; margin-top:10px; color:var(--success); font:500 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; }
    .cart-status.error { color:#e0655a; }
    .ship-progress-wrap { margin:0 0 16px; }
    .ship-progress-head { display:flex; justify-content:space-between; gap:12px; font:600 11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin-bottom:8px; }
    .ship-progress-head span:last-child { color:var(--accent); }
    .ship-progress { height:10px; background:var(--line); border:1px solid var(--line); overflow:hidden; }
    .ship-progress-fill { height:100%; background:var(--accent); width:0%; transition:width .35s ease; }
    .ship-progress-wrap.unlocked .ship-progress-fill { background:var(--success); }
    .cart-trust { border:1px solid var(--line); background:var(--panel); padding:12px 14px; margin:0 0 14px; display:grid; gap:6px; }
    .cart-trust span { font-size:13px; color:var(--muted); line-height:1.45; }
    .cart-trust span strong { color:var(--ink); }
    @media (max-width: 620px) { .founder-block { grid-template-columns:1fr; } }

    /* Parts — nav entry point */
    .nav-parts {
      text-decoration:none; border:1px solid var(--line); color:var(--ink); padding:0 14px;
      font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.02em;
      display:inline-flex; align-items:center; min-height:44px; line-height:1; white-space:nowrap;
    }
    .nav-links a.nav-parts:hover { border-color:var(--accent); color:var(--accent); }
    @media (min-width: 768px) { .nav-links a.nav-parts { display:inline-flex; } }

    /* Parts — view */
    .parts-toolbar { display:flex; flex-direction:column; gap:14px; margin-bottom:6px; }
    .parts-search { display:flex; align-items:center; gap:10px; border:1px solid var(--line); background:var(--panel); padding:0 14px; max-width:560px; }
    .parts-search svg { color:var(--muted); flex:none; }
    .parts-search input { border:0; background:transparent; padding:12px 0; min-height:46px; }
    .parts-search input:focus { outline:none; }
    .parts-search:focus-within { border-color:var(--accent); outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset:3px; }
    .parts-seg { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
    .parts-seg .seg-label { font:600 11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-right:2px; }
    .parts-seg button { border:1px solid var(--line); background:var(--panel); color:var(--muted); font-size:13px; font-weight:700; padding:8px 13px; min-height:44px; cursor:pointer; }
    .parts-seg button:hover { color:var(--ink); border-color:var(--accent); }
    .parts-seg button[aria-pressed="true"] { background:var(--accent); border-color:var(--accent); color:var(--accent-ink); }
    .parts-count { color:var(--muted); font-size:14px; margin:20px 0 16px; }
    .parts-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:18px; }
    .part-card { border:1px solid var(--line); background:var(--panel); padding:22px; display:flex; flex-direction:column; }
    picture.part-photo { display:block; width:calc(100% + 44px); max-width:none; margin:-22px -22px 18px; aspect-ratio:1 / 1; border-bottom:1px solid var(--line); overflow:hidden; }
    picture.part-photo img { display:block; width:100%; height:100%; object-fit:cover; }
    .part-card h3 { order:2; }
    .part-card .part-top { order:1; }
    .part-card .part-buyrow { order:3; margin-top:12px; padding-top:0; }
    .part-card .part-spec,
    .part-card .fitment-line,
    .part-card .made-label,
    .part-card .part-quote-link,
    .part-card .part-note { order:4; }
    .part-top { display:flex; justify-content:space-between; align-items:center; gap:10px; }
    .part-card h3 { margin:10px 0 7px; font-size:19px; line-height:1.2; font-weight:800; font-style:italic; text-transform:uppercase; letter-spacing:-.01em; }
    .part-spec { margin:0; color:var(--muted); font-size:14px; }
    .made-label { display:block; margin-top:14px; border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line)); color:var(--accent); font:600 11px/1.5 "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.04em; padding:7px 9px; }
    .part-buyrow { margin-top:auto; padding-top:18px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
    .part-buyrow .price-tag { margin-right:auto; }
    .part-action { min-height:44px; padding:0 16px; font-size:13px; }
    .part-action.quote-mode { background:transparent; color:var(--ink); border-color:var(--ink); }
    .part-quote-link { background:none; border:0; padding:8px 0 0; color:var(--muted); font:500 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-decoration:underline; cursor:pointer; text-align:left; align-self:flex-start; }
    .part-quote-link:hover { color:var(--accent); }
    .part-note { margin:10px 0 0; font:500 12px/1.55 "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; color:var(--accent); }
    .part-note:empty { display:none; }
    .parts-empty { border:1px dashed var(--line); padding:40px 20px; text-align:center; color:var(--muted); }
    .parts-empty strong { color:var(--ink); display:block; margin-bottom:6px; font-size:16px; }
    .parts-empty a { color:var(--accent); }
    .parts-box { border:1px solid var(--line); background:var(--panel); padding:26px 24px; margin-top:44px; display:grid; grid-template-columns:.8fr 1.2fr; gap:30px; align-items:start; }
    .parts-box h3 { margin:0; font-size:22px; font-weight:800; font-style:italic; text-transform:uppercase; letter-spacing:-.01em; }
    .parts-box p { margin:0 0 12px; color:var(--muted); font-size:15px; }
    .parts-box p:last-child { margin-bottom:0; }
    .parts-box p strong { color:var(--ink); }
    .parts-box a { color:var(--accent); }
    .parts-fine { margin-top:26px; color:var(--muted); font-size:12.5px; max-width:820px; }
    .ordering-head { margin:0 0 18px; font-size:24px; font-weight:900; font-style:italic; text-transform:uppercase; letter-spacing:-.015em; }
    .ordering-table { max-width:820px; }
    @media (max-width: 1099px) { .parts-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); } }
    @media (max-width: 767px) { .parts-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; } .parts-box { grid-template-columns:1fr; } }

    /* Parts — quote panel */
    .parts-quote { margin-top:44px; border:1px solid var(--accent); background:var(--paper-2); padding:24px; }
    .parts-quote-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap; }
    .parts-quote-head h3 { margin:0; font-size:20px; font-weight:800; font-style:italic; text-transform:uppercase; letter-spacing:-.01em; }
    .parts-quote-head p { margin:6px 0 0; color:var(--muted); font-size:13px; max-width:540px; }
    .parts-quote-total { font-size:24px; font-weight:900; font-style:italic; white-space:nowrap; }
    .pq-items { list-style:none; margin:16px 0 0; padding:4px 0 0; border-top:1px solid var(--line); }
    .pq-item { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); flex-wrap:wrap; }
    .pq-name { flex:1 1 220px; font-size:14px; font-weight:700; }
    .pq-name small { display:block; color:var(--muted); font:500 11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; margin-top:3px; }
    .pq-line { font-weight:800; font-style:italic; min-width:74px; text-align:right; }
    .pq-remove { background:none; border:0; color:var(--muted); cursor:pointer; font:500 11px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; text-transform:uppercase; letter-spacing:.05em; padding:0; }
    .pq-remove:hover { color:var(--accent); }
    .pq-empty { color:var(--muted); font-size:14px; padding:12px 0 2px; margin:0; }
    .pq-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
    .pq-note { margin:14px 0 0; color:var(--muted); font-size:12.5px; }
    .pq-status { display:block; min-height:18px; margin-top:10px; color:var(--success); font:500 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; }
    .pq-status.error { color:#e0655a; }

    .quiet-action { background:none; border:0; color:var(--muted); cursor:pointer; font:600 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; letter-spacing:.04em; text-transform:uppercase; text-decoration:underline; text-underline-offset:3px; min-height:44px; padding:0 8px; }
    .quiet-action:hover { color:var(--accent); }
    .quote-card .quiet-action { color:#55554f; }
    .quote-card .quiet-action:hover { color:#0a0a0a; }
    .cart-added { margin:0 0 8px; color:var(--success); font:500 12px "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; }
    .cart-added:empty { display:none; }
    .sticky-cart { display:none; }
    @media (max-width: 860px) {
      .shop-grid .product-card.feature { display:grid; grid-template-columns:42% 1fr; align-items:start; }
      .shop-grid .feature .product-body { display:contents; }
      .shop-grid .feature .product-visual.photo { grid-column:1; grid-row:1 / span 3; width:100%; min-height:0; height:auto; align-self:start; aspect-ratio:1 / 1; border-right:1px solid var(--line); border-bottom:0; }
      .shop-grid .feature .product-number,
      .shop-grid .feature .product-body h3,
      .shop-grid .feature .shop-buy { grid-column:2; margin-left:12px; margin-right:12px; }
      .shop-grid .feature .product-body > p,
      .shop-grid .feature .fitment-line,
      .shop-grid .feature .spec-row { grid-column:1 / -1; margin-left:12px; margin-right:12px; }
      .sticky-cart.is-on { display:flex; position:fixed; z-index:40; left:14px; right:14px; bottom:calc(12px + env(safe-area-inset-bottom)); min-height:48px; align-items:center; justify-content:space-between; gap:12px; padding:0 16px; background:var(--accent); color:var(--accent-ink); border:0; font-weight:800; text-transform:uppercase; letter-spacing:.02em; font-size:14px; cursor:pointer; box-shadow:var(--shadow); }
      .sticky-cart .cart-badge { background:var(--accent-ink); color:var(--accent); }
      body:has(.cart-drawer.open) .sticky-cart { display:none; }
    }
    @media (max-width: 620px) {
      #shop-products { padding-top:14px !important; }
      #shop-products .section-head { margin-bottom:10px; }
      #shop-products .section-head p { display:none; }
      #shop-products .section-head h2 { font-size:26px; }
      .shop-hero.slim { padding:14px 0 12px; }
      .shop-hero.slim h1 { font-size:32px; margin:6px 0; }
      .shop-chips { margin-top:10px; }
      .shop-hero.slim .shop-back { margin-top:8px; }
      .shop-grid .add-cart { min-height:44px; }
      .shop-grid .feature .product-body { padding:12px 12px 14px; }
    }

    /* Compact catalog cards: photo, name, one line, price, add to cart. */
    .card-line { margin:8px 0 0; color:var(--muted); font-size:14px; line-height:1.45; }
    .card-details { margin-top:2px; }
    .card-details summary {
      display:flex; align-items:center; min-height:44px; cursor:pointer;
      font-size:14px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; color:var(--accent);
    }
    .card-details summary:hover { color:var(--ink); }
    .card-details[open] summary { margin-bottom:8px; }
    .details-close { display:none; }
    body.sheet-open { overflow:hidden; }
    .product-grid.shop-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; align-items:start; }
    .shop-grid .product-card,
    .shop-grid .product-card.third,
    .shop-grid .product-card.feature { grid-column:auto; min-height:0; flex-direction:column; display:flex; }
    .shop-grid .product-visual,
    .shop-grid .feature .product-visual,
    .shop-grid .feature .product-visual.photo {
      flex:none; width:100%; min-height:0; height:auto; aspect-ratio:1 / 1;
      border-right:0; border-bottom:1px solid var(--line); grid-column:auto; grid-row:auto;
    }
    .shop-grid .product-body,
    .shop-grid .feature .product-body { display:flex; flex-direction:column; padding:14px; }
    .shop-grid .product-body h3,
    .shop-grid .feature .product-body h3 { font-size:16px; margin:0; line-height:1.25; order:0; grid-column:auto; }
    .shop-grid .product-body > p.card-line { order:1; }
    .shop-grid .shop-buy,
    .shop-grid .feature .shop-buy,
    .shop-grid .product-card:not(.feature) .shop-buy { order:2; margin:12px 0 0; padding-top:0; grid-column:auto; }
    .shop-grid .card-details { order:3; }
    .shop-grid .price-tag { font-size:18px; }
    .shop-grid .add-cart { min-height:44px; font-size:14px; padding:0 12px; }
    @media (max-width: 1099px) {
      .product-grid.shop-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
    }
    @media (max-width: 767px) {
      .product-grid.shop-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
      .shop-grid .product-body,
      .shop-grid .feature .product-body { padding:10px; }
      .shop-grid .product-body h3,
      .shop-grid .feature .product-body h3,
      .shop-grid .product-body p.card-line { font-size:14px; }
      .shop-grid .feature .product-body > p.card-line,
      .shop-grid .feature .product-body h3,
      .shop-grid .feature .shop-buy { margin-left:0; margin-right:0; }
      .shop-grid .shop-buy { flex-direction:column; align-items:stretch; gap:8px; }
      .shop-grid .add-cart { width:100%; }
      .shop-grid .price-tag { font-size:16px; }
      .details-close {
        display:flex; align-items:center; justify-content:center; width:100%;
        min-height:44px; margin:0 0 10px; background:transparent; border:1px solid var(--line);
        color:var(--ink); font-size:13px; font-weight:800; letter-spacing:.04em;
        text-transform:uppercase; cursor:pointer;
      }
      .card-details[open]::before {
        content:""; position:fixed; inset:0; z-index:79; background:rgba(0,0,0,.62);
      }
      .card-details[open] .card-details-body {
        position:fixed; z-index:80; left:0; right:0; bottom:0;
        max-height:min(75vh, 640px); overflow:auto; background:var(--paper-2);
        border-top:1px solid var(--accent);
        padding:12px 16px calc(16px + env(safe-area-inset-bottom));
        box-shadow:var(--shadow);
      }
      .part-card { padding:10px; }
      picture.part-photo { width:calc(100% + 20px); margin:-10px -10px 10px; }
      .part-card h3, .part-spec { font-size:14px; }
      .part-buyrow { flex-direction:column; align-items:stretch; }
      .part-buyrow .price-tag { margin-right:0; }
      .part-action { width:100%; }
    }
    @media (max-width: 400px) {
      .nav-inner { gap:8px; }
      .nav-links { gap:6px; }
      .nav-cart, .nav-cta, .nav-menu { padding:0 8px; }
    }

    /* Desktop and iPad links. The menu stays for widths under 820px. */
    .nav-desk { display:none; }
    @media (min-width: 820px) {
      .nav-links .nav-desk {
        display:inline-flex; align-items:center; min-height:44px;
        font-size:14px; font-weight:700; white-space:nowrap; color:var(--ink);
      }
      .nav-links .nav-desk:hover,
      .nav-links .nav-desk[aria-current="page"] { color:var(--accent); }
      .nav-links { gap:10px; }
    }
    @media (min-width: 820px) and (max-width: 1099px) {
      .brand-name, .brand-loc { display:none; }
      .nav-links .nav-desk { font-size:13px; }
      .nav-shop, .nav-parts, .nav-cart, .nav-cta { padding-left:10px; padding-right:10px; }
    }

    .details-buy {
      display:flex; align-items:center; justify-content:space-between; gap:12px;
      margin:0 0 14px; padding-bottom:12px; border-bottom:1px solid var(--line);
    }
    .details-meta { display:flex; flex-direction:column; gap:2px; min-width:0; }
    .details-meta strong { font-size:16px; line-height:1.25; }
    .details-buy .price-tag { font-size:18px; }
    .details-buy .add-cart { flex:none; }
    .shop-grid .details-buy .add-cart { width:auto; }

    .hero-photo { border:1px solid var(--line); background:#111110; }
    .hero-photo img { display:block; width:100%; height:auto; aspect-ratio:1 / 1; object-fit:cover; }
    .hero-photo figcaption { padding:12px 14px 14px; color:var(--muted); font:500 12px/1.45 "IBM Plex Mono", "IBM Plex Mono Fallback", monospace; }

    .keep-together { white-space:nowrap; }
    /* Custom-parts headline stays inside a reserved box so the quote
       button remains above an 800px fold. Sizes step down with the
       two-column measure so the last line is not clipped. */
    @media (min-width: 861px) {
      body.page-custom .hero-lead h1 {
        font-size:32px;
        max-width:none;
        height:calc(4 * 0.98em + 4px);
      }
    }
    @media (min-width: 900px) {
      body.page-custom .hero-lead h1 { font-size:34px; }
    }
    @media (min-width: 960px) {
      body.page-custom .hero-lead h1 { font-size:40px; }
    }
    @media (min-width: 1100px) {
      body.page-custom .hero-lead h1 { font-size:48px; }
    }
