/* ブルネロ・クチネリ コラム専用。色は tokens.css の --alumina-* のみを使う */
:root {
  --alumina-blue: #599adb;
  --alumina-link: #3f7fc1;
  --alumina-nav: #4b5ad2;
  --alumina-paper: #ffffff;
  --alumina-background: #f5f5fa;
  --alumina-tint: #eaf2fb;
  --alumina-ink: #333333;
  --alumina-muted: #666666;
  --alumina-line: #dfdfe9;
  --alumina-font: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

html { scroll-padding-top: 76px; }
body { margin: 0; background: var(--alumina-background); color: var(--alumina-ink); font-family: var(--alumina-font); -webkit-text-size-adjust: 100%; overflow-wrap: anywhere; }
.col-wrap { box-sizing: border-box; max-width: 760px; margin: 0 auto; padding: 20px 16px 48px; }
.col-wrap *, .col-wrap *::before, .col-wrap *::after { box-sizing: border-box; }
.col-crumb { font-size: 13px; line-height: 1.6; margin: 0 0 12px; color: var(--alumina-muted); }
.col-crumb a { color: var(--alumina-link); }

.col-article { background: var(--alumina-paper); border: 1px solid var(--alumina-line); border-radius: 10px; padding: 56px 40px 64px; font-size: 17.5px; line-height: 1.95; min-width: 0; overflow: hidden; }
.col-body { max-width: 36em; margin: 0 auto; }
.col-article p { margin: 0 0 1em; line-height: 1.95; }
.col-article a { color: var(--alumina-link); text-decoration: underline; text-underline-offset: 2px; }
.col-article a:visited { color: var(--alumina-link); }
.col-article strong { font-weight: bold; }
.col-article img { display: block; width: 100%; height: auto; }

/* 扉 */
.col-title { font-size: 2.1em; line-height: 1.4; font-weight: bold; margin: 0 0 .4em; letter-spacing: .02em; }
.col-subtitle { font-size: 1.15em; line-height: 1.7; color: var(--alumina-muted); margin: 0 0 2em; font-weight: normal; }
.col-photo.col-hero { margin: 0 -40px 2.4em; }
.col-hero figcaption { padding: 0 40px; }
.col-lead { font-size: 1.05em; }
.col-toc { border-top: 1px solid var(--alumina-line); border-bottom: 1px solid var(--alumina-line); padding: 1.4em 0 1.2em; margin: 2.4em 0 1.6em; }
.col-toc-title { font-weight: bold; margin: 0 0 .5em; font-size: .95em; }
.col-toc ol { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 2em; }
.col-toc li { margin: 0 0 .35em; line-height: 1.6; font-size: .95em; break-inside: avoid; }
.col-legend { font-size: .85em; color: var(--alumina-muted); line-height: 1.8; }

/* 章扉 */
.col-chapter { margin-top: 160px; }
.col-ch-title { margin: 0 0 1.6em; font-weight: bold; line-height: 1.4; }
.col-ch-no { display: block; font-size: 4em; line-height: 1; color: var(--alumina-blue); font-weight: bold; letter-spacing: .02em; margin: 0 0 .25em; }
.col-ch-unit { font-size: .3em; margin-left: .15em; color: var(--alumina-muted); font-weight: normal; vertical-align: .15em; }
.col-ch-name { display: block; font-size: 1.6em; color: var(--alumina-ink); }

/* 列挙（第一は…）の行 */
.col-steps { margin: 0 0 1em; }
.col-steps span { display: block; margin: 0 0 .35em; }

/* プルクオート */
.col-pq { overflow: hidden; margin: 2.2em 0; padding: .2em 0 .2em 1.1em; border-left: 3px solid var(--alumina-blue); }
.col-pq-label { font-size: .8em !important; color: var(--alumina-muted); margin: 0 0 .5em !important; line-height: 1.6 !important; }
.col-pq-text { font-size: 1.25em; line-height: 1.85 !important; margin: 0 !important; }

/* 図と写真 */
.col-fig, .col-photo { margin: 2.6em 0; }
.col-fig img { border: 1px solid var(--alumina-line); }
.col-fig figcaption, .col-photo figcaption { font-size: .85em; line-height: 1.7; color: var(--alumina-muted); margin-top: .7em; }
.col-credit { display: block; font-size: .92em; margin-top: .2em; }
.col-photo.col-photo-wide { margin-left: -40px; margin-right: -40px; }
.col-photo-wide figcaption { padding: 0 40px; }
.col-photo-small { max-width: 28em; }
.col-photo-right { float: right; width: 42%; margin: .4em 0 1.2em 1.6em; }
.col-fig, .col-sources, .col-chapter { clear: both; }
.col-photo-end { max-width: 30em; margin-left: auto; margin-right: auto; }

/* 確認できていないこと */
.col-unverified { border: 1px solid var(--alumina-line); border-radius: 6px; padding: 1.3em 1.4em 1.1em; margin: 2.4em 0; }
.col-unverified-title { font-weight: bold; margin: 0 0 .6em !important; }
.col-unverified ul { list-style: none; margin: 0; padding: 0; }
.col-unverified li { padding: .6em 0; border-top: 1px solid var(--alumina-line); line-height: 1.8; font-size: .95em; }

/* 注の参照 */
.col-ref { font-size: .72em; vertical-align: .55em; line-height: 0; white-space: nowrap; }
.col-ref a { text-decoration: none; }

/* 末尾資料 */
.col-sources { margin-top: 160px; border-top: 1px solid var(--alumina-line); padding-top: 2.4em; }
.col-sources h2 { font-size: 1.4em; margin: 0 0 1em; line-height: 1.5; }
.col-sources h3 { font-size: 1.1em; margin: 2em 0 .8em; line-height: 1.5; }
.col-notes { list-style: none; margin: 0; padding: 0; font-size: .85em; }
.col-notes li { margin: 0 0 .9em; line-height: 1.75; padding-left: 2.6em; text-indent: -2.6em; }
.col-notes .col-note-no { display: inline-block; width: 2.6em; text-indent: 0; font-weight: bold; }
.col-notes .col-back { font-size: .9em; margin-left: .4em; }
.col-sources p { font-size: .9em; line-height: 1.8; }

#siteFooterU { background: var(--alumina-background); border-top: 1px solid var(--alumina-line); color: var(--alumina-muted); text-align: center; padding: 28px 16px; font-size: 12px; line-height: 1.9; }
#siteFooterU p { margin: 4px auto; max-width: 640px; line-height: 1.9; }
#siteFooterU .lg { color: var(--alumina-ink); font-weight: bold; letter-spacing: .12em; }
#siteFooterU .flinks a { color: var(--alumina-link); margin: 0 10px; white-space: nowrap; }

@media (max-width: 600px) {
  .col-wrap { padding: 14px 10px 32px; }
  .col-article { padding: 32px 20px 40px; font-size: 16.5px; line-height: 1.9; }
  .col-article p { line-height: 1.9; }
  .col-title { font-size: 1.6em; }
  .col-subtitle { font-size: 1.02em; }
  .col-photo.col-hero { margin: 0 -20px 2em; }
  .col-hero figcaption, .col-photo-wide figcaption { padding: 0 20px; }
  .col-photo.col-photo-wide { margin-left: -20px; margin-right: -20px; }
  .col-toc ol { columns: 1; }
  .col-chapter { margin-top: 110px; }
  .col-ch-no { font-size: 3em; }
  .col-ch-name { font-size: 1.4em; }
  .col-pq-text { font-size: 1.1em; }
  .col-photo-right { float: none; width: auto; margin: 2.6em 0; }
  .col-unverified { padding: 1.1em 1em .9em; }
  .col-sources { margin-top: 110px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
