/* ─────────────────────────────────────────────
   旧車ノート
   アーカイブ／図録の佇まい。
   見出しは明朝、本文はゴシック。彩度は抑える。
   ───────────────────────────────────────────── */

:root{
  --ink:#1c1a17;          /* 墨 */
  --ink2:#4d4a44;
  --dim:#8b8781;
  --line:#e2ded6;
  --line2:#cfc9be;
  --bg:#faf8f4;           /* 生成り */
  --card:#fffefb;
  --g:#1b4d38;            /* 深緑 */
  --g2:#12362a;
  --accent:#8a7d3f;       /* 真鍮 */
  --warnbg:#f8f3e6;
  --w:760px;

  --mincho:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP","Times New Roman",serif;
  --gothic:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic UI","Yu Gothic",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--gothic);
  font-size:16px;line-height:1.95;
  font-feature-settings:"palt";
}
.wrap{max-width:var(--w);margin:0 auto;padding:0 24px}
a{color:var(--g);text-decoration:none}
a:hover{color:var(--accent)}
img{max-width:100%;height:auto;display:block}

/* ── header ── */
header.site{background:var(--bg);border-bottom:1px solid var(--line2)}
header.site .wrap{padding-top:26px;padding-bottom:18px}
.brand{display:block;color:var(--ink)}
.brand:hover{color:var(--ink)}
.bn{
  font-family:var(--mincho);font-size:27px;font-weight:600;
  letter-spacing:.22em;line-height:1.2;display:block;
}
.bt{
  display:block;margin-top:9px;font-size:11px;color:var(--dim);
  letter-spacing:.18em;
}
header nav{
  display:flex;gap:26px;margin-top:20px;
  font-size:12.5px;letter-spacing:.1em;
}
header nav a{color:var(--ink2);padding-bottom:3px}
header nav a.on{color:var(--g);border-bottom:1px solid var(--g)}

/* ── PR ── */
.pr{border-bottom:1px solid var(--line);font-size:10.5px;color:var(--dim);line-height:1.8;letter-spacing:.02em}
.pr .wrap{padding-top:9px;padding-bottom:9px}

main{padding:52px 24px 80px}

/* ── hero ── */
.hero{margin-bottom:56px}
.hero h1{
  font-family:var(--mincho);font-weight:600;
  font-size:25px;line-height:2;margin:0 0 20px;letter-spacing:.09em;
}
.hero p{margin:0;color:var(--ink2);font-size:14.5px;line-height:2.1}
.rule{height:1px;background:var(--line2);margin:44px 0 34px}
.sh{
  font-family:var(--mincho);font-size:14px;letter-spacing:.24em;
  color:var(--ink);font-weight:600;margin:0 0 22px;
}
.sh small{display:block;font-family:var(--gothic);font-size:9.5px;letter-spacing:.22em;color:var(--dim);margin-top:5px;font-weight:400}

/* ── cards ── */
.cards{border-top:1px solid var(--line)}
.card{
  display:block;padding:22px 2px;border-bottom:1px solid var(--line);
  color:var(--ink);transition:.2s;
}
.card:hover{color:var(--ink);background:var(--card);padding-left:10px;padding-right:10px}
.cno{font-size:10px;letter-spacing:.2em;color:var(--accent);margin-bottom:8px}
.ct{font-family:var(--mincho);font-weight:600;font-size:18.5px;line-height:1.75;letter-spacing:.04em;margin-bottom:9px}
.cd{font-size:13px;color:var(--ink2);line-height:1.95}
.cm{margin-top:12px;font-size:10.5px;color:var(--dim);letter-spacing:.08em;display:flex;gap:16px}

/* ── article ── */
.ah{margin-bottom:46px}
.akind{font-size:10.5px;letter-spacing:.22em;color:var(--accent);margin-bottom:16px}
.ah h1{
  font-family:var(--mincho);font-weight:600;
  font-size:27px;line-height:1.85;margin:0 0 20px;letter-spacing:.05em;
}
.ah .lead{margin:0;color:var(--ink2);font-size:14.5px;line-height:2.1}
.adate{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:10.5px;color:var(--dim);letter-spacing:.1em}

article h2{
  font-family:var(--mincho);font-weight:600;
  font-size:20px;margin:56px 0 20px;letter-spacing:.06em;line-height:1.7;
  padding-bottom:10px;border-bottom:1px solid var(--line2);
}
article h3{font-family:var(--mincho);font-weight:600;font-size:16.5px;margin:36px 0 12px;letter-spacing:.05em;color:var(--g2)}
article p{margin:0 0 22px}
article ul,article ol{margin:0 0 22px;padding-left:24px}
article li{margin-bottom:9px}
article strong{font-weight:700}
article blockquote{margin:0 0 26px;padding:2px 0 2px 22px;border-left:2px solid var(--accent);color:var(--ink2);font-size:15px}
article blockquote p:last-child{margin:0}
article hr{border:0;border-top:1px solid var(--line2);margin:52px 0}
article code{background:#f0ece3;padding:2px 6px;border-radius:2px;font-size:13px}

/* ── tables ── */
.tw{overflow-x:auto;margin:0 0 26px;-webkit-overflow-scrolling:touch}
article table{border-collapse:collapse;width:100%;font-size:13.5px;min-width:440px;line-height:1.8}
article th{
  text-align:left;padding:11px 14px;font-size:11.5px;letter-spacing:.1em;
  color:var(--ink);font-weight:600;white-space:nowrap;
  border-bottom:1.5px solid var(--ink);
}
article td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
article tbody tr:last-child td{border-bottom:1px solid var(--line2)}
.nw{white-space:nowrap}

/* ── part card ── */
.part{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  border:1px solid var(--line2);background:var(--card);
  padding:20px 22px;margin:0 0 14px;
}
.part-body{flex:1;min-width:220px}
.part-brand{font-size:10px;color:var(--dim);letter-spacing:.16em;margin-bottom:5px}
.part-name{font-family:var(--mincho);font-weight:600;font-size:16px;line-height:1.7;letter-spacing:.03em}
.part-meta{margin-top:8px;font-size:12px;color:var(--ink2);display:flex;gap:18px;flex-wrap:wrap;letter-spacing:.04em}
.part-meta .price{font-weight:700;color:var(--ink)}
.part-note{margin-top:6px;font-size:12px;color:var(--dim)}
.buy{
  display:inline-block;border:1px solid var(--g);color:var(--g);
  font-size:12px;letter-spacing:.1em;padding:10px 22px;white-space:nowrap;transition:.2s;
}
.buy:hover{background:var(--g);color:#fff}
.missing{color:#a33;font-size:13px}

/* ── callouts ── */
.warn{border:1px solid #ddd0a8;background:var(--warnbg);padding:20px 22px;margin:0 0 26px;font-size:14.5px}
.warn strong:first-child{color:#7a6520;letter-spacing:.06em}
.warn p:last-child,.warn ul:last-child{margin:0}
.note{border-left:2px solid var(--line2);padding:2px 0 2px 22px;margin:0 0 26px;font-size:14.5px;color:var(--ink2)}
.note p:last-child{margin:0}

/* ── footer ── */
footer.site{border-top:1px solid var(--line2);padding:44px 0 60px;margin-top:80px}
.fnav{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;letter-spacing:.08em;margin-bottom:24px}
.fine{font-size:10.5px;color:var(--dim);line-height:2.1;margin:0 0 16px;letter-spacing:.02em}
.copy{font-size:10.5px;color:var(--dim);margin:0;letter-spacing:.12em}

@media(max-width:640px){
  body{font-size:15.5px;line-height:1.9}
  .wrap{padding:0 20px}
  main{padding:38px 20px 60px}
  .bn{font-size:22px;letter-spacing:.16em}
  .hero h1{font-size:20px;line-height:1.95}
  .ah h1{font-size:22px}
  article h2{font-size:18px;margin:44px 0 16px}
  .ct{font-size:17px}
  .part{gap:14px;padding:18px}
  .buy{width:100%;text-align:center}
}
