/* ============================================================
   ENGINEERS PAGE  (/engineers)  Prefix: .sl-eng-
   エンジニア向けトーン。明るいブライトデザインに従う。
   紺ベタ背景・グラデ・ピル型チップ・絵文字は使わない。
   ============================================================ */

/* ── 共通リード文 ─────────────────────────────────────── */
.sl-eng-lead {
  font-size:   clamp(14px, 1.8vw, 16px);
  line-height: 1.9;
  color:       var(--sl-ash-2);
  margin:      0 0 8px;
  max-width:   56ch;
}

/* ── 1. Hero ──────────────────────────────────────────── */
.sl-eng-hero {
  padding: clamp(72px, 11vw, 120px) 0 clamp(60px, 9vw, 96px);
}
.sl-eng-hero__inner {
  max-width:      820px;
  display:        flex;
  flex-direction: column;
  gap:            18px;
}
.sl-eng-hero__h1 {
  font-family: var(--sl-font-display);
  font-size:   clamp(2rem, 5.2vw, 3.2rem);
  font-weight: 700;
  line-height: 1.28;
  color:       var(--sl-ink);
  margin:      0;
}
.sl-eng-hero__lead {
  font-family: var(--sl-font-display);
  font-size:   clamp(15px, 2vw, 19px);
  font-weight: 500;
  line-height: 1.8;
  color:       var(--sl-ink);
  margin:      0;
}
.sl-eng-hero__belief {
  font-family:    var(--sl-font-display);
  font-size:      clamp(1.3rem, 3.4vw, 2rem);
  font-weight:    700;
  line-height:    1.5;
  color:          var(--sl-ink);
  margin:         12px 0 0;
  padding-left:   20px;
  border-left:    3px solid var(--sl-primary);
  quotes:         none;
}
.sl-eng-hero__sig {
  font-family:    var(--sl-font-mono);
  font-size:      12px;
  letter-spacing: 0.16em;
  color:          var(--sl-gold-2);
  margin:         4px 0 0;
}

/* ── 2. OneUp勉強会 ───────────────────────────────────── */
.sl-eng-meetup {
  display:               grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap:                   clamp(28px, 4vw, 56px);
  align-items:           center;
  margin-top:            40px;
}
@media (max-width: 820px) {
  .sl-eng-meetup { grid-template-columns: 1fr; gap: 32px; }
}
.sl-eng-stats {
  display:        flex;
  flex-direction: column;
  gap:            16px;
}
.sl-eng-stat {
  background:    var(--sl-card);
  border:        1px solid var(--sl-line);
  border-radius: 14px;
  padding:       20px 24px;
}
.sl-eng-stat__num {
  display:     block;
  font-family: var(--sl-font-display);
  font-size:   clamp(1.8rem, 4vw, 2.4rem);
  font-weight: 700;
  color:       var(--sl-ink);
  line-height: 1.1;
}
.sl-eng-stat__unit {
  font-size:    0.5em;
  font-weight:  600;
  margin-left:  3px;
  color:        var(--sl-ash-2);
}
.sl-eng-stat__label {
  display:    block;
  font-size:  13px;
  color:      var(--sl-ash-2);
  margin-top: 4px;
}
.sl-eng-banner {
  display:       block;
  border-radius: 16px;
  overflow:      hidden;
  box-shadow:    0 18px 44px -20px rgba(30, 58, 95, 0.28);
  transition:    transform 0.2s ease, box-shadow 0.2s ease;
}
.sl-eng-banner:hover {
  transform:  translateY(-3px);
  box-shadow: 0 22px 52px -20px rgba(30, 58, 95, 0.34);
}
.sl-eng-banner img {
  display: block;
  width:   100%;
  height:  auto;
}

/* ── 3-4. 育成プラン ──────────────────────────────────── */
.sl-eng-plans {
  display:               grid;
  grid-template-columns: repeat(2, 1fr);
  gap:                   24px;
  margin-top:            40px;
}
@media (max-width: 760px) {
  .sl-eng-plans { grid-template-columns: 1fr; }
}
.sl-eng-plan {
  background:    var(--sl-card);
  border:        1px solid var(--sl-line);
  border-radius: 16px;
  padding:       30px 28px 32px;
  transition:    transform 0.2s ease, box-shadow 0.2s ease;
}
.sl-eng-plan:hover {
  transform:  translateY(-3px);
  box-shadow: 0 16px 36px -16px rgba(30, 58, 95, 0.18);
}
.sl-eng-plan__head {
  display:       flex;
  align-items:   baseline;
  gap:           10px;
  flex-wrap:     wrap;
  margin-bottom: 14px;
}
.sl-eng-plan__abbr {
  font-family:    var(--sl-font-mono);
  font-size:      18px;
  font-weight:    500;
  letter-spacing: 0.08em;
  color:          var(--sl-primary);
}
.sl-eng-plan__full {
  font-family:    var(--sl-font-mono);
  font-size:      11px;
  letter-spacing: 0.06em;
  color:          var(--sl-ash);
}
.sl-eng-plan__title {
  font-family: var(--sl-font-display);
  font-size:   clamp(16px, 2vw, 18px);
  font-weight: 600;
  color:       var(--sl-ink);
  line-height: 1.5;
  margin:      0 0 12px;
}
.sl-eng-plan__body {
  font-size:   13.5px;
  line-height: 1.85;
  color:       var(--sl-ash-2);
  margin:      0 0 16px;
}
.sl-eng-plan__note {
  font-size:      12.5px;
  line-height:    1.7;
  color:          var(--sl-gold-2);
  margin:         0;
  padding-top:    14px;
  border-top:     1px solid var(--sl-line);
}

/* ── 5. パートナー募集 ────────────────────────────────── */
.sl-eng-points {
  list-style: none;
  margin:     36px 0 0;
  padding:    0;
  display:    grid;
  grid-template-columns: repeat(2, 1fr);
  gap:        16px;
}
@media (max-width: 700px) {
  .sl-eng-points { grid-template-columns: 1fr; }
}
.sl-eng-point {
  display:       flex;
  align-items:   flex-start;
  gap:           12px;
  background:    var(--sl-card);
  border:        1px solid var(--sl-line);
  border-radius: 12px;
  padding:       18px 20px;
}
.sl-eng-point__mark {
  flex-shrink: 0;
  color:       var(--sl-primary);
  line-height: 0;
  margin-top:  1px;
}
.sl-eng-point p {
  font-size:   13.5px;
  line-height: 1.75;
  color:       var(--sl-ink);
  margin:      0;
}

/* ── エンジニアにできること ──────────────────────────────── */
.sl-eng-support-layout {
  display:               grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap:                   clamp(28px, 4vw, 52px);
  align-items:           center;
  margin-top:            40px;
}
.sl-eng-support-art img {
  display:       block;
  width:         100%;
  height:        auto;
  border-radius: 22px;
  box-shadow:    0 18px 44px -18px rgba(30, 58, 95, 0.22);
  transform:     translateY(var(--par, 0px)) rotate(-1deg);
}
@media (max-width: 900px) {
  .sl-eng-support-layout { grid-template-columns: 1fr; gap: 28px; }
  .sl-eng-support-art    { max-width: 520px; margin: 0 auto; }
}
.sl-eng-supports {
  display:               grid;
  grid-template-columns: 1fr;
  gap:                   18px;
}
.sl-eng-support {
  background:    #fff;
  border:        1px solid var(--sl-line);
  border-radius: 18px;
  padding:       28px 26px;
  box-shadow:    0 2px 10px rgba(30,58,95,0.04);
}
.sl-eng-support__title {
  font-family: var(--sl-font-display);
  font-weight: 700;
  font-size:   17px;
  color:       var(--sl-ink);
  margin:      0 0 10px;
}
.sl-eng-support__body {
  margin:      0;
  font-size:   13.5px;
  line-height: 1.9;
  color:       var(--sl-ash-2);
}
.sl-eng-support__items {
  list-style: none;
  margin:     14px 0 0;
  padding:    12px 0 0;
  border-top: 1px solid var(--sl-line-soft);
}
.sl-eng-support__items li {
  position:      relative;
  padding-left:  20px;
  margin-bottom: 6px;
  font-size:     13px;
  font-weight:   500;
  color:         var(--sl-ink);
}
.sl-eng-support__items li::before {
  content:   "";
  position:  absolute;
  left:      2px;
  top:       7px;
  width:     9px;
  height:    6px;
  transform: rotate(-45deg);
  border-left:   2px solid var(--sl-accent);
  border-bottom: 2px solid var(--sl-accent);
}
/* ── GROWTH ヘッダ（テキスト＋イラスト） ─────────────────── */
.sl-eng-growth-head {
  display:               grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap:                   clamp(28px, 4vw, 52px);
  align-items:           center;
}
.sl-eng-growth-art img {
  display:       block;
  width:         100%;
  height:        auto;
  border-radius: 22px;
  box-shadow:    0 18px 44px -18px rgba(30, 58, 95, 0.22);
  transform:     translateY(var(--par, 0px)) rotate(1deg);
}
@media (max-width: 900px) {
  .sl-eng-growth-head { grid-template-columns: 1fr; gap: 28px; }
  .sl-eng-growth-art  { max-width: 520px; margin: 0 auto; }
}

/* ── FINAL CTA イラスト ──────────────────────────────────── */
.sl-eng-cta-art {
  max-width: 380px;
  margin:    0 auto 30px;
}
.sl-eng-cta-art img {
  display:       block;
  width:         100%;
  height:        auto;
  border-radius: 22px;
  box-shadow:    0 16px 40px -18px rgba(30, 58, 95, 0.2);
}

/* ── 育成講座 準備中バッジ ──────────────────────────────── */
.sl-eng-plan__soon {
  margin-left:    auto;
  font-size:      11px;
  font-weight:    700;
  letter-spacing: 0.06em;
  color:          var(--sl-gold-2);
  background:     rgba(245,158,11,0.12);
  border:         1px solid rgba(217,119,6,0.3);
  border-radius:  8px;
  padding:        4px 10px;
  white-space:    nowrap;
}

/* ── ますさん署名（シロイルカアイコン） ──────────────────── */
.sl-eng-hero__who {
  display:         inline-flex;
  align-items:     center;
  gap:             14px;
  margin-top:      26px;
  text-align:      left;
}
.sl-eng-hero__avatar {
  width:         56px;
  height:        56px;
  border-radius: 50%;
  border:        2px solid #fff;
  box-shadow:    0 4px 12px rgba(30,58,95,0.18);
  display:       block;
}
.sl-eng-hero__nickname {
  font-family: var(--sl-font-display);
  font-weight: 800;
  font-size:   17px;
  color:       var(--sl-ink);
  margin:      0;
}
.sl-eng-hero__realname {
  font-size: 11.5px;
  color:     var(--sl-ash);
  margin:    2px 0 0;
}
