/* =========================================================
   X308 JOURNAL — エディトリアル共通シェル
   記事はこの1枚を共有する。余白・色・字は全部ここで一括管理。
   ========================================================= */

:root {
  --paper: #f5f0e4;          /* 生成りの紙 */
  --paper-2: #efe8d6;        /* 一段沈む紙 */
  --ink: #22201a;            /* 本文＝温かい黒 */
  --ink-soft: #6f6a5c;
  --ink-faint: #9a9384;
  --brg: #17402b;            /* ブリティッシュ・レーシング・グリーン（差し色） */
  --royal: #1b3a5c;          /* 青 */
  --brass: #a9812f;          /* ラベル・キッカーの真鍮色 */
  --line: rgba(34, 32, 26, 0.14);
  --tint-green: #e8ece3;     /* 淡い緑（強調行・パネル） */
  --tint-blue: #e6ebf1;      /* 淡い青 */
  --logo: "Libre Caslon Display", serif;
  --disp: "Shippori Mincho B1", serif;
  --body: "Noto Serif JP", serif;
  --sans: "Noto Sans JP", sans-serif;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--paper); color: var(--ink);
  font-family: var(--body); line-height: 1.95; letter-spacing: 0.01em;
  font-feature-settings: "palt";
  overflow-x: clip;
  background-image:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,0.5) 0%, transparent 42%),
    radial-gradient(circle at 82% 78%, rgba(23,64,43,0.035) 0%, transparent 46%),
    repeating-linear-gradient(0deg, rgba(34,32,26,0.014) 0 1px, transparent 1px 3px);
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
::selection { background: rgba(23, 64, 43, 0.16); }
a:focus-visible { outline: 2px solid var(--brg); outline-offset: 3px; }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 1rem; top: 1rem; background: var(--ink); color: var(--paper); padding: 0.6rem 1rem; z-index: 100; }

/* 日本語の改行制御：禁則（ー・小書き・句読点が行頭/行末に来ない）＋行長を均す。ラテン語は割らない */
h1, h2, h3, .hero .standfirst, .statement, .pull, .reg, .plate {
  line-break: strict; word-break: normal; overflow-wrap: break-word; text-wrap: balance;
}

/* 幅：読み列は中央、見せ場は広く */
.measure { max-width: 44rem; margin-inline: auto; }
.wide { max-width: 62rem; margin-inline: auto; padding-inline: clamp(1.4rem, 5vw, 3rem); }

/* ---- topbar ---- */
.bar { position: sticky; top: 0; z-index: 40; background: rgba(245, 240, 228, 0.86); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.bar .in { max-width: 74rem; margin-inline: auto; padding: 0.85rem clamp(1.4rem, 5vw, 4rem); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.bar .brand { font-family: var(--logo); letter-spacing: 0.22em; font-size: 0.9rem; text-decoration: none; white-space: nowrap; }
.bar nav { display: flex; gap: clamp(0.8rem, 2vw, 1.7rem); }
.bar nav a { font-family: var(--sans); font-size: 0.78rem; font-weight: 500; letter-spacing: 0.04em; color: var(--ink-soft); text-decoration: none; transition: color .15s; }
.bar nav a:hover, .bar nav a[aria-current] { color: var(--brg); }
@media (max-width: 700px) { .bar nav { display: none; } }

/* ---- ヒーロー ---- */
.hero { padding-block: clamp(2.8rem, 7vw, 5.5rem) clamp(2.2rem, 5vw, 3.8rem); }
.hero .grid { max-width: 48rem; margin-inline: auto; }
.hero .kicker { font-family: var(--sans); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.28em; color: var(--brass); margin-bottom: clamp(1.4rem, 4vw, 2.4rem); }
.hero h1 { font-family: var(--disp); font-weight: 700; font-size: clamp(2.4rem, 1.7rem + 3.4vw, 4.4rem); line-height: 1.1; letter-spacing: 0.01em; color: var(--ink); margin-bottom: clamp(1.6rem, 4vw, 2.6rem); }
.hero .standfirst { font-family: var(--disp); font-weight: 500; font-size: clamp(1.08rem, 1rem + 0.5vw, 1.35rem); line-height: 1.9; color: var(--ink); max-width: 32rem; }
.hero .meta { font-family: var(--sans); font-size: 0.78rem; letter-spacing: 0.06em; color: var(--ink-faint); margin-top: clamp(1.8rem, 4vw, 2.6rem); }
.hero .meta .dot { color: var(--brass); margin-inline: 0.6em; }
.hero .rule { width: 3.4rem; height: 2px; background: var(--brg); margin-top: 2.4rem; }

/* ---- 本文 ---- */
.prose { max-width: 44rem; margin-inline: auto; }
.prose p { font-size: 1.05rem; line-height: 2.05; }
.prose p + p { margin-top: 1.6em; }
.prose strong { font-weight: 600; }
.prose a { color: var(--brg); text-decoration: none; border-bottom: 1px solid rgba(23,64,43,0.35); padding-bottom: 1px; }
.prose a:hover { border-color: var(--brg); }
/* リード：頭文字は使わず、一段大きい明朝＋上に差し色の短罫（字始まりに左右されない） */
.lead { font-family: var(--disp); font-weight: 500; font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.36rem) !important; line-height: 1.95 !important; color: var(--ink); position: relative; padding-top: 1.5rem; }
.lead::before { content: ""; position: absolute; top: 0; left: 0; width: 2.6rem; height: 3px; background: var(--brg); }

/* 注記・出典 */
.note { font-family: var(--sans); font-size: 0.8rem; line-height: 1.85; color: var(--ink-faint); margin-top: 1em; }
.note a { color: var(--ink-soft); text-decoration: none; border-bottom: 1px solid var(--line); }
.note a:hover { color: var(--brg); }

/* セクション見出し：番号なし、小ラベル＋大和文 */
.sec { margin-top: clamp(3.2rem, 7vw, 5.5rem); }
.sec .label { font-family: var(--sans); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.3em; color: var(--brass); display: block; margin-bottom: 0.9rem; }
.sec h2 { font-family: var(--disp); font-weight: 600; font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.1rem); line-height: 1.45; color: var(--ink); margin-bottom: clamp(1.4rem, 3vw, 2rem); }

/* 大きな引用（見せ場） */
.statement { margin: clamp(3.5rem, 8vw, 6rem) auto; max-width: 50rem; font-family: var(--disp); font-weight: 600; font-size: clamp(1.5rem, 1.1rem + 1.8vw, 2.4rem); line-height: 1.6; letter-spacing: 0.01em; color: var(--brg); text-align: center; text-wrap: balance; }
.pull { margin: clamp(2.8rem, 6vw, 4.5rem) 0; padding-left: 1.6rem; border-left: 2px solid var(--brass); font-family: var(--disp); font-weight: 500; font-size: clamp(1.3rem, 1rem + 1.4vw, 1.9rem); line-height: 1.7; color: var(--ink); }

/* ---- エディトリアルな表 ---- */
.table-wrap { max-width: 44rem; margin: clamp(2.2rem, 4vw, 3.2rem) auto; overflow-x: auto; }
.spec-table { width: 100%; border-collapse: collapse; font-family: var(--body); }
.spec-table caption { text-align: left; font-family: var(--sans); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.2em; color: var(--brass); margin-bottom: 0.9rem; }
.spec-table th, .spec-table td { text-align: left; padding: 0.66rem 0.95rem; border-bottom: 1px solid var(--line); font-size: 0.9rem; line-height: 1.6; vertical-align: top; }
.spec-table thead th { font-family: var(--sans); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.05em; color: var(--ink); border-bottom: 1.5px solid var(--ink); white-space: nowrap; }
.spec-table tbody th { font-family: var(--sans); font-weight: 500; font-size: 0.82rem; color: var(--ink-soft); white-space: nowrap; }
.spec-table tbody tr:last-child th, .spec-table tbody tr:last-child td { border-bottom: none; }
.spec-table tr.hl td, .spec-table tr.hl th { background: var(--tint-green); }
.spec-table tr.hl td:first-child, .spec-table tr.hl th:first-child { box-shadow: inset 3px 0 0 var(--brg); }
.spec-table .r { text-align: right; }

/* ---- 本文中の写真 ---- */
.figure { margin: clamp(2.6rem, 6vw, 4.5rem) auto; max-width: 50rem; }
.figure img { width: 100%; height: auto; }
.figure figcaption { font-family: var(--sans); font-size: 0.78rem; color: var(--ink-soft); margin-top: 0.8rem; }
.figure.narrow { max-width: 34rem; }

/* ---- 2項目の淡い色パネル（例：緑 対 青） ---- */
.versus { max-width: 46rem; margin: clamp(2.8rem, 5vw, 4rem) auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1rem, 2.5vw, 1.6rem); }
@media (max-width: 600px) { .versus { grid-template-columns: 1fr; } }
.panel { padding: clamp(1.5rem, 3.5vw, 2.2rem); border-top: 3px solid; }
.panel.green { background: var(--tint-green); border-color: var(--brg); }
.panel.blue { background: var(--tint-blue); border-color: var(--royal); }
.panel .kick { font-family: var(--sans); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.2em; margin-bottom: 0.55rem; }
.panel.green .kick { color: var(--brg); }
.panel.blue .kick { color: var(--royal); }
.panel .reg { font-family: var(--logo); font-size: clamp(1.35rem, 1.1rem + 1.1vw, 1.85rem); letter-spacing: 0.04em; color: var(--ink); }
.panel .fate { font-family: var(--sans); font-size: 0.77rem; letter-spacing: 0.04em; color: var(--ink-soft); margin: 0.4rem 0 1.3rem; }
.panel dl div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.46rem 0; border-top: 1px solid rgba(34, 32, 26, 0.1); font-size: 0.86rem; }
.panel dt { font-family: var(--sans); font-size: 0.72rem; letter-spacing: 0.05em; color: var(--ink-faint); white-space: nowrap; }
.panel dd { text-align: right; }

/* ---- 縦の書類＋脇に解説 ---- */
.doc { max-width: 58rem; margin: clamp(3.5rem, 8vw, 6rem) auto; display: grid; grid-template-columns: minmax(0, 21rem) 1fr; gap: clamp(1.8rem, 4vw, 3.2rem); align-items: center; }
@media (max-width: 640px) { .doc { grid-template-columns: 1fr; gap: 1.6rem; } .doc figure { max-width: 20rem; margin-inline: auto; } }
.doc figure { margin: 0; }
.doc img { width: 100%; height: auto; display: block; border: 1px solid var(--line); box-shadow: 0 2px 26px rgba(34, 32, 26, 0.10); }
.doc .label { font-family: var(--sans); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.3em; color: var(--brass); display: block; margin-bottom: 0.9rem; }
.doc .doc-cap { font-family: var(--disp); font-weight: 500; font-size: clamp(1.05rem, 0.9rem + 0.6vw, 1.3rem); line-height: 1.9; color: var(--ink); }
.doc .credit { font-family: var(--sans); font-size: 0.74rem; color: var(--ink-faint); margin-top: 0.9rem; }

/* ---- 全幅の横長写真（見せ場） ---- */
.plate-img { margin: clamp(3.5rem, 8vw, 6rem) 0; }
.plate-img figure { margin: 0; }
.plate-img img { width: 100%; max-height: 82vh; object-fit: cover; }
.plate-img figcaption { font-family: var(--sans); font-size: 0.78rem; color: var(--ink-soft); margin-top: 0.9rem; max-width: 40rem; margin-inline: auto; }

/* 参考資料ブロック */
.sources { margin-top: clamp(3rem, 6vw, 4.5rem); padding-top: 1.4rem; border-top: 1px solid var(--line); font-family: var(--sans); font-size: 0.76rem; line-height: 1.9; color: var(--ink-faint); max-width: 44rem; margin-inline: auto; }
.sources a { color: var(--ink-soft); text-decoration: none; border-bottom: 1px solid var(--line); }
.sources a:hover { color: var(--brg); }

/* 次に読む */
.next { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1.4rem; max-width: 44rem; margin: clamp(3.5rem, 8vw, 5.5rem) auto 0; padding: clamp(1.8rem, 4vw, 2.6rem) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); text-decoration: none; }
.next .tag { font-family: var(--sans); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.2em; color: var(--brass); display: block; margin-bottom: 0.5rem; }
.next h3 { font-family: var(--disp); font-weight: 600; font-size: clamp(1.4rem, 1.1rem + 1.4vw, 2rem); color: var(--ink); }
.next p { font-family: var(--sans); font-size: 0.82rem; color: var(--ink-soft); margin-top: 0.4rem; }
.next .ar { font-size: 1.8rem; color: var(--brg); transition: transform .2s; }
.next:hover .ar { transform: translateX(8px); }

.back-row { max-width: 44rem; margin: 1.6rem auto 0; display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-family: var(--sans); font-size: 0.82rem; }
.back-row a { color: var(--ink-soft); text-decoration: none; }
.back-row a:hover { color: var(--brg); }

/* ---- フッター ---- */
.site-foot { margin-top: clamp(4rem, 9vw, 7rem); border-top: 1px solid var(--line); }
.site-foot .in { max-width: 62rem; margin-inline: auto; padding: clamp(2.2rem, 5vw, 3.2rem) clamp(1.4rem, 5vw, 3rem); }
.site-foot .top { display: flex; justify-content: space-between; gap: 2rem; flex-wrap: wrap; align-items: start; }
.site-foot .brand-foot { font-family: var(--logo); letter-spacing: 0.2em; font-size: 1rem; text-decoration: none; color: var(--ink); display: block; }
.site-foot .tagline { font-family: var(--sans); font-size: 0.76rem; color: var(--ink-faint); margin-top: 0.5rem; }
.site-foot nav { display: flex; flex-wrap: wrap; gap: 0.8rem 1.4rem; max-width: 26rem; }
.site-foot nav a { font-family: var(--sans); font-size: 0.8rem; color: var(--ink-soft); text-decoration: none; }
.site-foot nav a:hover { color: var(--brg); }
.site-foot .legal { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: clamp(1.6rem, 4vw, 2.4rem); padding-top: 1.2rem; border-top: 1px solid var(--line); font-family: var(--sans); font-size: 0.74rem; color: var(--ink-faint); }

/* 出現アニメ（控えめ） */
.rise { opacity: 0; transform: translateY(18px); }
.rise.in { opacity: 1; transform: none; transition: opacity .7s ease, transform .7s cubic-bezier(0.22,1,0.36,1); }
@media (prefers-reduced-motion: reduce) { .rise { opacity: 1 !important; transform: none !important; } html { scroll-behavior: auto; } }

/* ============================================================
   ランディング／一覧ページ（トップ・読みもの・日誌）
   誌面の索引：角丸カードにしない。罫線・余白・サムネで見せる。
   ============================================================ */

/* 表紙ヒーロー（写真＋題字・下寄せ） */
.cover-hero { position: relative; min-height: min(84vh, 660px); display: flex; align-items: flex-end; }
.cover-hero .ph { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.cover-hero .ph img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.cover-hero .scrim { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(18,16,13,.78) 0%, rgba(18,16,13,.32) 30%, rgba(18,16,13,0) 62%); }
.cover-hero .in { position: relative; z-index: 2; max-width: 62rem; width: 100%; margin-inline: auto; padding: clamp(2.4rem,6vw,4.5rem) clamp(1.4rem,5vw,3rem); color: #f3eee1; }
.cover-hero .eyebrow { font-family: var(--sans); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.28em; color: #d8b877; margin-bottom: 1.1rem; }
.cover-hero h1 { font-family: var(--disp); font-weight: 700; font-size: clamp(2rem, 1.4rem + 3.4vw, 3.6rem); line-height: 1.28; color: #fff; text-wrap: balance; }
.cover-hero .sub { font-family: var(--body); font-size: clamp(0.95rem, 0.9rem + 0.4vw, 1.08rem); line-height: 1.9; color: rgba(243,238,225,.88); max-width: 33rem; margin-top: 1.2rem; }

/* 一覧ページの頭（題字＋説明） */
.page-head { max-width: 52rem; margin-inline: auto; padding: clamp(3rem,7vw,5.5rem) clamp(1.4rem,5vw,3rem) 0; }
.page-head .eyebrow { font-family: var(--sans); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.28em; color: var(--brass); margin-bottom: 1rem; }
.page-head h1 { font-family: var(--disp); font-weight: 700; font-size: clamp(2.2rem, 1.6rem + 2.6vw, 3.3rem); line-height: 1.14; color: var(--ink); }
.page-head .standfirst { font-family: var(--disp); font-weight: 500; font-size: clamp(1.08rem,1rem+0.6vw,1.32rem); line-height: 1.85; color: var(--ink); max-width: 34rem; margin-top: 1.2rem; }

/* ランディング節 */
.land { max-width: 52rem; margin-inline: auto; padding: clamp(2.8rem,6vw,4.5rem) clamp(1.4rem,5vw,3rem); }
.land + .land { padding-top: 0; }
.shead { margin-bottom: clamp(1.4rem,3vw,2rem); }
.shead .label { font-family: var(--sans); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.3em; color: var(--brass); display: block; margin-bottom: 0.7rem; }
.shead h2 { font-family: var(--disp); font-weight: 700; font-size: clamp(1.5rem, 1.3rem + 1.2vw, 2rem); line-height: 1.3; color: var(--ink); }
.shead .lede { font-family: var(--sans); font-size: 0.9rem; line-height: 1.8; color: var(--ink-soft); margin-top: 0.6rem; }

/* 特集（大きめ1本） */
.feature { display: grid; gap: 1.1rem; text-decoration: none; color: inherit; margin-bottom: clamp(1.8rem,4vw,2.6rem); }
.feature .ph { aspect-ratio: 16 / 9; overflow: hidden; }
.feature .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.feature:hover .ph img { transform: scale(1.03); }
.feature .tag { font-family: var(--sans); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.18em; color: var(--brass); display: block; margin-bottom: 0.5rem; }
.feature .date-line { font-family: var(--sans); font-size: 0.75rem; letter-spacing: 0.06em; color: var(--ink-faint); margin-bottom: 0.4rem; }
.feature h3 { font-family: var(--disp); font-weight: 700; font-size: clamp(1.35rem, 1.1rem + 1.2vw, 1.85rem); line-height: 1.4; color: var(--ink); }
.feature .desc { font-family: var(--sans); font-size: 0.88rem; line-height: 1.75; color: var(--ink-soft); margin-top: 0.6rem; }

/* 目次リスト（サムネ＋見出し＋説明） */
.ix-list { border-top: 1px solid var(--line); }
.ix { display: grid; grid-template-columns: 6.5rem 1fr auto; gap: clamp(0.9rem,3vw,1.6rem); align-items: center; padding: clamp(1rem,3vw,1.5rem) 0; border-bottom: 1px solid var(--line); text-decoration: none; color: inherit; }
.ix .ph { aspect-ratio: 4 / 3; overflow: hidden; align-self: stretch; }
.ix .ph img { width: 100%; height: 100%; object-fit: cover; }
.ix .tag { font-family: var(--sans); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.16em; color: var(--brass); display: block; margin-bottom: 0.35rem; }
.ix h3 { font-family: var(--disp); font-weight: 600; font-size: clamp(1.05rem, 1rem + 0.5vw, 1.3rem); line-height: 1.5; color: var(--ink); }
.ix .desc { font-family: var(--sans); font-size: 0.82rem; line-height: 1.65; color: var(--ink-soft); margin-top: 0.35rem; }
.ix .ar { font-size: 1.3rem; color: var(--brg); transition: transform .2s; }
.ix:hover h3 { color: var(--brg); }
.ix:hover .ar { transform: translateX(6px); }
@media (max-width: 560px) { .ix { grid-template-columns: 4.6rem 1fr; } .ix .ar { display: none; } }

/* 行リスト（テキストのみ：タグ or 日付＋タイトル＋説明） */
.rows { border-top: 1px solid var(--line); }
.row { display: grid; grid-template-columns: 6rem 1fr auto; column-gap: 1.4rem; row-gap: 0.3rem; align-items: baseline; padding: clamp(0.95rem,2.5vw,1.4rem) 0; border-bottom: 1px solid var(--line); text-decoration: none; color: inherit; }
.row .meta { grid-column: 1; grid-row: 1; font-family: var(--sans); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; color: var(--brass); font-variant-numeric: tabular-nums; }
.row .t { grid-column: 2; grid-row: 1; font-family: var(--disp); font-weight: 600; font-size: clamp(1.05rem,1rem+0.4vw,1.24rem); color: var(--ink); }
.row .ar { grid-column: 3; grid-row: 1; align-self: center; font-size: 1.2rem; color: var(--brg); transition: transform .2s; }
.row .d { grid-column: 2; grid-row: 2; font-family: var(--sans); font-size: 0.82rem; line-height: 1.6; color: var(--ink-soft); }
.row:hover .t { color: var(--brg); }
.row:hover .ar { transform: translateX(5px); }
@media (max-width: 560px) { .row { grid-template-columns: 5rem 1fr; } .row .ar { display: none; } }

/* この車／この個体（写真＋文＋諸元） */
.about { display: grid; grid-template-columns: 0.85fr 1fr; gap: clamp(1.6rem,4vw,3rem); align-items: center; }
@media (max-width: 640px) { .about { grid-template-columns: 1fr; } }
.about .ph img { width: 100%; height: auto; }
.about .intro { font-family: var(--disp); font-weight: 500; font-size: 1.1rem; line-height: 1.9; color: var(--ink); }
.about p { font-family: var(--body); font-size: 1rem; line-height: 1.95; color: var(--ink); }
.about p + p { margin-top: 1.2em; }
.about a { color: var(--brg); text-decoration: none; border-bottom: 1px solid rgba(23,64,43,.35); }
.facts { margin-top: 1.6rem; }
.facts div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.5rem 0; border-top: 1px solid var(--line); font-size: 0.88rem; }
.facts div:last-child { border-bottom: 1px solid var(--line); }
.facts dt { font-family: var(--sans); font-size: 0.75rem; letter-spacing: 0.04em; color: var(--ink-faint); white-space: nowrap; }
.facts dd { text-align: right; font-family: var(--body); color: var(--ink); }

/* 「全部見る」リンク */
.tlink { display: inline-flex; align-items: center; gap: 0.5rem; font-family: var(--sans); font-size: 0.85rem; font-weight: 700; letter-spacing: 0.02em; color: var(--brg); text-decoration: none; margin-top: clamp(1.4rem,3vw,2rem); }
.tlink .ar { transition: transform .2s; }
.tlink:hover .ar { transform: translateX(5px); }

/* 参考資料 */
.refs { list-style: none; border-top: 1px solid var(--line); }
.refs li { border-bottom: 1px solid var(--line); }
.refs a { display: block; padding: 0.85rem 0; font-family: var(--sans); font-size: 0.9rem; line-height: 1.6; color: var(--ink-soft); text-decoration: none; }
.refs a:hover { color: var(--brg); }
