/* ========================================================================
   Kusunavi 薬学生コラム — 一人称エッセイ用スタイル
   column.css (医師監修コラム) のトークンを継承しつつ、
   エッセイらしい組み(セリフ×サンセリフ・ドロップキャップ・余白多め)を追加。
   ======================================================================== */

:root {
  --student-blue: #3D74B8;
  --student-blue-soft: #7FA3CC;
  --student-blue-deep: #2A5586;
  --student-blue-wash: #EAF1F8;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --student-blue: #7FA8D6;
    --student-blue-soft: #5A82AC;
    --student-blue-deep: #A9C6E8;
    --student-blue-wash: #23303E;
  }
}
:root[data-theme="dark"] {
  --student-blue: #7FA8D6;
  --student-blue-soft: #5A82AC;
  --student-blue-deep: #A9C6E8;
  --student-blue-wash: #23303E;
}

/* ---- Masthead badge (D+: 大枠フレーム + アイコン + シリーズタイトル) ---- */
.student-masthead {
  text-align: center; padding: 28px 20px 36px;
  background: #FAFCFE; border-radius: 16px; margin: 0 0 8px;
}
.student-masthead-brand {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  margin-top: 12px;
  font-size: 13px; font-weight: 800; letter-spacing: 0.08em;
  color: var(--text-muted);
}
.student-masthead-brand svg { flex: none; display: block; }
.student-badge {
  display: inline-flex; align-items: center; gap: 18px;
  border: 1.5px solid var(--student-blue); border-radius: 4px;
  padding: 16px 26px 16px 16px;
  position: relative;
  text-align: left;
}
.student-badge::before, .student-badge::after {
  content: ""; position: absolute; width: 10px; height: 10px;
  border: 1.5px solid var(--student-blue);
}
.student-badge::before { top: -1.5px; left: -1.5px; border-right: none; border-bottom: none; }
.student-badge::after { bottom: -1.5px; right: -1.5px; border-left: none; border-top: none; }
.student-badge-icon {
  flex: none; width: 46px; height: 46px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--student-blue);
}
.student-badge-text { display: flex; flex-direction: column; gap: 5px; }
.student-badge-label {
  font-size: 10.5px; font-weight: 700; color: var(--student-blue-soft);
  letter-spacing: 0.22em; text-transform: uppercase;
}
.student-badge-title {
  font-family: 'Hiragino Mincho ProN', 'Yu Mincho', 'Noto Serif JP', serif;
  font-weight: 700; font-size: 21px; letter-spacing: 0.03em;
  background: linear-gradient(100deg, var(--student-blue-deep), var(--student-blue));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* ---- Essay typography ---- */
.essay {
  font-size: 17.5px; line-height: 2.05; color: var(--text);
  max-width: 40em; margin: 0 auto;
}
.essay p { margin: 0 0 30px; }
.essay > p:first-of-type::first-letter {
  font-family: 'Hiragino Mincho ProN', 'Yu Mincho', 'Noto Serif JP', serif;
  font-size: 3.4em; font-weight: 600; color: var(--student-blue);
  float: left; line-height: 0.86; padding: 0.05em 0.1em 0 0;
}
.essay strong { color: var(--student-blue); font-weight: 700; }

.essay-rule {
  display: flex; align-items: center; justify-content: center; gap: 16px;
  margin: 48px 0;
}
.essay-rule::before, .essay-rule::after { content: ""; flex: 1; max-width: 140px; height: 1px; background: var(--divider); }
.essay-rule svg { display: block; flex: none; }

.kusumaru-mark { display: flex; justify-content: center; margin: 0 0 -8px; }
.kusumaru-mark svg { display: block; filter: drop-shadow(0 6px 14px rgba(44,34,32,0.12)); }

.pull { margin: 56px auto; max-width: 30em; text-align: center; position: relative; }
.pull-mark {
  font-family: 'Hiragino Mincho ProN', 'Yu Mincho', serif;
  font-size: 46px; line-height: 0.6; color: var(--student-blue-soft);
  display: block; margin-bottom: 4px;
}
.pull p {
  font-family: 'Hiragino Mincho ProN', 'Yu Mincho', 'Noto Serif JP', serif;
  font-size: clamp(21px, 3.4vw, 27px); font-weight: 600; line-height: 1.75;
  color: var(--student-blue); margin: 0;
}

.thesis {
  margin: 56px auto; max-width: 26em; text-align: center;
  padding: 34px 28px; background: var(--student-blue-wash); border-radius: 2px;
  position: relative;
}
.thesis::before, .thesis::after {
  content: ""; position: absolute; top: 14%; bottom: 14%; width: 3px; background: var(--student-blue);
}
.thesis::before { left: 0; }
.thesis::after { right: 0; }
.thesis p {
  font-family: 'Hiragino Mincho ProN', 'Yu Mincho', 'Noto Serif JP', serif;
  font-size: clamp(19px, 3vw, 23px); font-weight: 600; line-height: 1.85;
  color: var(--text); margin: 0;
}

.twin-boxes { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 40px 0; }
@media (max-width: 560px) { .twin-boxes { grid-template-columns: 1fr; } }
.twin-box {
  border: 1px solid var(--divider); border-radius: 2px;
  padding: 22px 22px 24px; background: var(--student-blue-wash);
}
.twin-box-label {
  font-size: 11px; font-weight: 700; color: var(--student-blue);
  letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 10px; display: block;
}
.twin-box p {
  font-family: 'Hiragino Mincho ProN', 'Yu Mincho', 'Noto Serif JP', serif;
  font-size: 16.5px; line-height: 1.85; color: var(--text); margin: 0;
}
