@font-face { font-family:"Barlow Condensed"; src:url("/fonts/barlow-condensed-500.woff2") format("woff2"); font-style:normal; font-weight:500; font-display:swap; }
@font-face { font-family:"Barlow Condensed"; src:url("/fonts/barlow-condensed-600.woff2") format("woff2"); font-style:normal; font-weight:600; font-display:swap; }
@font-face { font-family:"Barlow Condensed"; src:url("/fonts/barlow-condensed-700.woff2") format("woff2"); font-style:normal; font-weight:700; font-display:swap; }
@font-face { font-family:"Source Sans 3"; src:url("/fonts/source-sans-3-latin.woff2") format("woff2"); font-style:normal; font-weight:400 700; font-display:swap; }

:root {
    --parts-navy:#10283f; --parts-blue:#294b67; --parts-amber:#c28b1b;
    --parts-ink:#202831; --parts-muted:#5d6872; --parts-paper:#fbfaf7;
    --parts-panel:#f0f1ef; --parts-line:#cfd3d3;
}
.parts-page { color:var(--parts-ink); background:var(--parts-paper); font-family:"Source Sans 3",Arial,sans-serif; }
.parts-page main { overflow:hidden; }
.parts-page .container { position:relative; }
.parts-page .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; }

.parts-hero { padding:clamp(2.6rem,6vw,5.5rem) 0; color:#fff; background:var(--parts-navy); }
.parts-hero-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.parts-kicker { display:block; margin-bottom:.8rem; color:#e2b954; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.parts-hero h1,.parts-section-head h2,.parts-missing h2,.parts-step h3 { font-family:"Barlow Condensed","Arial Narrow",sans-serif; }
.parts-hero h1 { max-width:10ch; margin:0 0 1rem; color:#fff; font-size:clamp(3rem,6vw,5.25rem); font-weight:600; letter-spacing:-.025em; line-height:.96; }
.parts-hero-copy { max-width:36rem; margin:0 0 1.5rem; color:#d9e0e6; font-size:clamp(1rem,1.35vw,1.14rem); line-height:1.6; }
.parts-search { display:flex; max-width:39rem; padding:4px; background:#fff; border:1px solid rgba(255,255,255,.38); border-radius:3px; }
.parts-search:focus-within { outline:3px solid rgba(226,185,84,.65); outline-offset:2px; }
.parts-search input { min-width:0; flex:1; padding:.8rem .85rem; color:var(--parts-ink); background:transparent; border:0; font:inherit; }
.parts-search input:focus { outline:0; }
.parts-search button,.parts-button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:.7rem 1rem; color:#171b1e; background:#e0aa36; border:1px solid #a87308; border-radius:2px; font:700 .95rem/1 "Source Sans 3",Arial,sans-serif; text-decoration:none; cursor:pointer; }
.parts-search button:hover,.parts-button:hover { background:#edba4d; }
.parts-search button:focus-visible,.parts-button:focus-visible,.parts-card a:focus-visible,.make-chip:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.parts-hero-links { display:flex; flex-wrap:wrap; gap:.7rem 1rem; align-items:center; margin-top:.9rem; }
.parts-hero-links a:not(.parts-button) { color:#fff; font-weight:650; text-underline-offset:3px; }
.parts-hero-photo { position:relative; margin:0; min-height:510px; overflow:hidden; background:#07131e; }
.parts-hero-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 44%; }
.parts-photo-credit { position:absolute; right:.65rem; bottom:.55rem; margin:0; padding:.2rem .4rem; color:#e8edf0; background:rgba(8,20,31,.76); font-size:.67rem; }
.parts-photo-credit a { color:inherit; }

.parts-safety { background:#fff; border-bottom:1px solid var(--parts-line); }
.parts-safety-inner { display:grid; grid-template-columns:auto 1fr auto; gap:1rem; align-items:center; padding-top:1rem; padding-bottom:1rem; }
.parts-safety-mark { display:grid; width:2.2rem; height:2.2rem; place-items:center; color:#fff; background:var(--parts-navy); border-radius:50%; font-weight:800; }
.parts-safety strong { display:block; font-size:.95rem; }
.parts-safety p { margin:.08rem 0 0; color:var(--parts-muted); font-size:.86rem; }
.parts-safety-link { color:var(--parts-blue); font-size:.84rem; font-weight:700; }

.parts-section { padding:clamp(3.2rem,6.5vw,5.6rem) 0; }
.parts-section + .parts-section { border-top:1px solid var(--parts-line); }
.parts-section-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,31rem); gap:2rem; align-items:end; margin-bottom:1.6rem; }
.parts-section-head h2 { margin:0; color:var(--parts-navy); font-size:clamp(2.15rem,3.8vw,3.4rem); font-weight:600; letter-spacing:-.01em; line-height:1; }
.parts-section-head p { margin:0; color:var(--parts-muted); line-height:1.6; }
.parts-index { display:block; margin-bottom:.3rem; color:#8c6411; font-size:.76rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }

.parts-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.parts-card { min-width:0; overflow:hidden; background:#fff; border:1px solid var(--parts-line); border-radius:2px; }
.parts-card-image { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:#e5e7e7; }
.parts-card-image img { width:100%; height:100%; object-fit:cover; }
.parts-card-badge { position:absolute; right:.5rem; bottom:.5rem; padding:.25rem .4rem; color:#fff; background:rgba(16,40,63,.92); font-size:.67rem; font-weight:700; }
.parts-card-body { padding:.95rem; }
.parts-card h3 { min-height:2.65em; margin:0 0 .35rem; color:var(--parts-navy); font:600 1.28rem/1.05 "Barlow Condensed","Arial Narrow",sans-serif; }
.parts-card h3 a { color:inherit; text-decoration:none; }
.parts-card-meta { min-height:2.3em; margin:0 0 .7rem; color:var(--parts-muted); font-size:.78rem; line-height:1.4; }
.parts-card-action { color:var(--parts-blue); font-size:.82rem; font-weight:700; text-underline-offset:3px; }
.parts-grid-state { grid-column:1/-1; min-height:14rem; display:grid; place-items:center; padding:2rem; color:var(--parts-muted); background:#fff; border:1px dashed #adb4b8; text-align:center; }
.parts-grid-state a { color:var(--parts-blue); font-weight:700; }
.parts-skeleton { height:18rem; background:#e9ebea; }

.makes-strip { padding:1.8rem 0; color:#fff; background:var(--parts-navy); }
.makes-inner { display:flex; gap:1rem 1.5rem; align-items:center; justify-content:space-between; }
.makes-inner strong { font:600 1.45rem/1 "Barlow Condensed","Arial Narrow",sans-serif; }
.make-chips { display:flex; flex-wrap:wrap; gap:.5rem; }
.make-chip { padding:.42rem .68rem; color:#fff; border:1px solid #73879a; border-radius:2px; font-size:.8rem; text-decoration:none; }
.make-chip:hover { color:#171b1e; background:#e0aa36; border-color:#e0aa36; }

.parts-process { background:#fff; }
.parts-process-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr); gap:clamp(2rem,5vw,4.5rem); align-items:stretch; }
.parts-process-photo { position:relative; min-height:470px; margin:0; overflow:hidden; background:#07131e; }
.parts-process-photo img { width:100%; height:100%; object-fit:cover; }
.parts-process-copy { align-self:center; }
.parts-process-copy .parts-section-head { display:block; margin-bottom:1.25rem; }
.parts-process-copy .parts-section-head p { margin-top:.65rem; }
.parts-process-grid { border-top:1px solid var(--parts-line); }
.parts-step { display:grid; grid-template-columns:2.2rem 1fr; gap:.7rem 1rem; padding:1rem 0; border-bottom:1px solid var(--parts-line); }
.parts-step span { grid-row:1/span 2; color:#8c6411; font-weight:700; }
.parts-step h3 { margin:0; color:var(--parts-navy); font-size:1.4rem; font-weight:600; }
.parts-step p { margin:0; color:var(--parts-muted); line-height:1.55; }

.parts-missing { display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; padding:clamp(1.6rem,4vw,2.7rem); color:#fff; background:var(--parts-blue); }
.parts-missing h2 { margin:0 0 .45rem; color:#fff; font-size:clamp(2rem,3.2vw,3rem); font-weight:600; }
.parts-missing p { max-width:48rem; margin:0; color:#e1e8ed; }
.parts-missing .parts-button { background:#fff; border-color:#fff; }
.parts-faq { max-width:54rem; margin:0 auto; }
.parts-faq details { border-top:1px solid var(--parts-line); }
.parts-faq details:last-child { border-bottom:1px solid var(--parts-line); }
.parts-faq summary { padding:1rem 2rem 1rem 0; color:var(--parts-navy); font-weight:700; cursor:pointer; }
.parts-faq p { margin:-.2rem 0 1.1rem; color:var(--parts-muted); line-height:1.6; }

@media (max-width:980px) {
    .parts-page .site-nav { position:relative; top:auto; }
    .parts-hero-grid { grid-template-columns:1fr; }
    .parts-hero h1 { max-width:13ch; }
    .parts-hero-photo { min-height:460px; }
    .parts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .parts-process-layout { grid-template-columns:1fr; }
    .parts-process-photo { min-height:430px; }
}
@media (max-width:700px) {
    .parts-page .mobile-cta-bar { display:none; }
    .parts-page.has-mobile-cta { padding-bottom:0; }
    .parts-hero { padding-top:2.3rem; }
    .parts-hero h1 { font-size:clamp(3.15rem,15vw,4.35rem); }
    .parts-search { display:grid; }
    .parts-search button { width:100%; }
    .parts-hero-photo { min-height:430px; }
    .parts-safety-inner { grid-template-columns:auto 1fr; }
    .parts-safety-link { grid-column:2; }
    .parts-section-head { grid-template-columns:1fr; gap:.65rem; }
    .makes-inner { align-items:flex-start; flex-direction:column; }
    .parts-missing { grid-template-columns:1fr; }
    .parts-missing .parts-button { width:100%; }
}
@media (max-width:450px) {
    .parts-grid { grid-template-columns:1fr; }
    .parts-card h3,.parts-card-meta { min-height:0; }
    .parts-process-photo { min-height:360px; }
}
@media (prefers-reduced-motion:reduce) { .parts-page * { scroll-behavior:auto!important; } }
