/* NIIGATA MEDICAL · Column v5
   Magazine-style, image-forward layout. No overlay over article photographs.
   One shared SSI partial (common/column-cards.html) powers home and archive.
   Scoped styles: no change to journal specialties or region gallery. */
:root { --column-ink:#173651; --column-muted:#4c6276; --column-rule:#cfd8df; }
.nm-column-home,
.nm-column-archive { color:var(--column-ink); background:#fafbfd; }
.nm-column-home { padding:104px 0 112px; }
.nm-column-home-inner { display:grid; grid-template-columns: minmax(230px,.33fr) minmax(0,1fr); column-gap:clamp(50px,7vw,110px); align-items:start; }
.nm-column-home-intro { padding-top:2px; }
.nm-column-kicker { color:#46617b; font:600 13px/1.5 Georgia,serif; letter-spacing:.17em; margin:0 0 14px; }
.nm-column-home-intro h2,
.nm-column-archive-header h1 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(60px,6.4vw,93px); line-height:1.15; letter-spacing:-.022em; color:#132e49; }
/* Column: keep size and layout, use a finer serif silhouette. */
.nm-column-home-intro h2 { font-family:"Baskerville", "Times New Roman", Times, serif; font-weight:400; }
.nm-column-jp { font-family:var(--serif); font-size:25px; font-weight:500; line-height:1.6; margin:12px 0 20px; color:#183751; }
.nm-column-lead { font-size:16px; line-height:1.95; color:var(--column-muted); margin:0 0 24px; }
.nm-column-all { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:9px 4px 10px 0; border-bottom:1px solid #223e55; font-size:16px; font-weight:600; color:var(--column-ink); line-height:1.6; }
.nm-column-all span { font-size:21px; line-height:1; font-family:Arial,sans-serif; }
.nm-column-all:hover { color:#37708e; border-color:#37708e; }
.nm-column-cards { min-width:0; }
.nm-column-card { min-width:0; }
.nm-column-card-link { display:block; color:var(--column-ink); }
.nm-column-image { display:block; background:#eef2f5; overflow:hidden; }
.nm-column-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.nm-column-card-link:hover .nm-column-image img { transform:scale(1.025); }
.nm-column-card-link:hover .nm-column-card-title { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.nm-column-copy { display:block; position:relative; min-width:0; }
.nm-column-category { color:#4b6b84; display:block; font:600 13px/1.6 Georgia,serif; letter-spacing:.055em; margin-bottom:7px; }
.nm-column-card-title { display:block; font-family:var(--serif); font-size:clamp(19px,1.65vw,23px); font-weight:600; line-height:1.6; letter-spacing:.02em; color:#1e354b; overflow-wrap:anywhere; }
.nm-column-excerpt { display:block; font-size:15px; line-height:1.8; color:var(--column-muted); margin-top:7px; }
.nm-column-arrow { position:absolute; right:0; bottom:0; color:#285471; font-family:Arial,sans-serif; font-size:20px; line-height:1; }
/* Top: exactly 3 stories, as compact rows beside the title. */
.nm-column-home-cards .nm-column-card:nth-child(n+4) { display:none; }
.nm-column-home-cards { border-top:1px solid var(--column-rule); }
.nm-column-home-cards .nm-column-card { border-bottom:1px solid var(--column-rule); }
.nm-column-home-cards .nm-column-card-link { display:grid; grid-template-columns:minmax(130px,190px) minmax(0,1fr); gap:clamp(20px,2.5vw,34px); align-items:center; min-height:150px; padding:22px 0; }
.nm-column-home-cards .nm-column-image { aspect-ratio:16/10; }
.nm-column-home-cards .nm-column-copy { padding-right:26px; }
.nm-column-home-cards .nm-column-excerpt { font-size:15px; }
.nm-column-home-cards .nm-column-arrow { right:0; bottom:-1px; }
/* Archive: 3 cards per row on desktop, two on tablet, one on phone. */
.nm-column-archive-header { padding:95px 0 72px; background:#f6f8fa; text-align:center; border-bottom:1px solid #e6ebef; }
.nm-column-archive-header h1 { margin:0; }
.nm-column-archive-jp { margin:10px 0 20px; font-family:var(--serif); font-size:32px; color:#183751; }
.nm-column-archive-lead { font-size:17px; line-height:1.95; color:var(--column-muted); margin:0; }
.nm-column-archive { padding:58px 0 100px; }
.nm-column-archive-heading { display:flex; align-items:baseline; gap:18px; margin-bottom:34px; border-bottom:1px solid #cfd8df; padding-bottom:19px; }
.nm-column-archive-heading h2 { font-family:var(--serif); font-size:32px; font-weight:500; color:var(--column-ink); white-space:nowrap; }
.nm-column-archive-heading p { margin:0; font-size:16px; color:var(--column-muted); }
.nm-column-archive-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:24px; row-gap:62px; }
.nm-column-archive-cards .nm-column-image { aspect-ratio: 16/10; margin-bottom:19px; }
.nm-column-archive-cards .nm-column-copy { padding:0 2px 28px; }
.nm-column-archive-cards .nm-column-card-title { font-size:clamp(20px,1.8vw,24px); }
.nm-column-archive-cards .nm-column-arrow { right:3px; bottom:0; }
.nm-column-disclaimer { border-top:1px solid #d4dfe5; margin:58px 0 0; padding-top:20px; color:#4e6579; line-height:1.8; font-size:14px; }
@media(max-width:1000px) {
  .nm-column-home-inner { grid-template-columns:250px minmax(0,1fr); gap:36px; }
  .nm-column-home-cards .nm-column-card-link { grid-template-columns:140px minmax(0,1fr); gap:18px; min-height:127px; padding:17px 0; }
  .nm-column-home-cards .nm-column-excerpt { display:none; }
  .nm-column-archive-cards { gap:45px 18px; }
}
@media(max-width:800px) {
  .nm-column-home { padding:74px 0 80px; }
  .nm-column-home-inner { grid-template-columns:1fr; gap:30px; }
  .nm-column-home-intro h2 { font-size:64px; }
  .nm-column-lead { margin-bottom:13px; }
  .nm-column-home-cards .nm-column-card-link { grid-template-columns:175px minmax(0,1fr); min-height:145px; }
  .nm-column-archive-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .nm-column-home { padding:58px 0 67px; }
  .nm-column-home-intro h2 { font-size:56px; }
  .nm-column-jp { font-size:23px; margin:4px 0 10px; }
  .nm-column-kicker { font-size:12px; }
  .nm-column-lead { font-size:16px; }
  .nm-column-home-cards .nm-column-card-link { grid-template-columns:minmax(100px,34%) minmax(0,1fr); gap:14px; padding:16px 0; min-height:108px; }
  .nm-column-home-cards .nm-column-card-title { font-size:17px; line-height:1.6; }
  .nm-column-home-cards .nm-column-category { font-size:12px; margin-bottom:4px; }
  .nm-column-home-cards .nm-column-copy { padding-right:19px; }
  .nm-column-home-cards .nm-column-arrow { font-size:17px; }
  .nm-column-archive-header { padding:58px 0 51px; }
  .nm-column-archive-header h1 { font-size:62px; }
  .nm-column-archive-jp { font-size:27px; margin:3px 0 12px; }
  .nm-column-archive-lead { font-size:16px; }
  .nm-column-archive { padding:40px 0 65px; }
  .nm-column-archive-heading { display:block; margin-bottom:27px; }
  .nm-column-archive-heading h2 { font-size:27px; margin-bottom:4px; }
  .nm-column-archive-heading p { font-size:15px; }
  .nm-column-archive-cards { grid-template-columns:1fr; row-gap:40px; }
  .nm-column-archive-cards .nm-column-image { margin-bottom:13px; }
  .nm-column-archive-cards .nm-column-copy { padding-bottom:23px; }
  .nm-column-archive-cards .nm-column-card-title { font-size:22px; }
  .nm-column-archive-cards .nm-column-category { font-size:13px; }
  .nm-column-disclaimer { margin-top:38px; }
}
@media(prefers-reduced-motion:reduce) { .nm-column-image img { transition:none; } }

/* ================================================================
   NIIGATA MEDICAL · Typography refinement / 2026-10-31
   1. Keep Mincho serif headings at regular (not bold) weight.
   2. Enlarge the two homepage section headings by exactly 4pt.
   Scope: Home/About mission, column card titles, top sections.
   ================================================================ */

/* About teaser at the end of the homepage. */
.mission .mission-copy h2 {
  font-weight: 400;
}

/* Headlines in the home Column list and three-column Column archive. */
.nm-column-home .nm-column-card-title,
.nm-column-archive .nm-column-card-title,
.nm-column-archive-heading h2 {
  font-weight: 400;
}

/* Two homepage section titles: original 30–42px + 4pt (~5.33px). */
.journal-specialties .journal-title h2,
.area-editorial .area-heading-copy h2 {
  font-size: clamp(calc(30px + 4pt), calc(3vw + 4pt), calc(42px + 4pt));
  font-weight: 400;
}
