/* 공통 베이스 */
.jumbotron{
  border-radius: 20px;
  padding: clamp(16px, 3vw, 32px);
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 10px 30px rgba(16,24,40,.08);
}
.jumbotron .display-6{ margin-bottom: .4rem; letter-spacing: -0.01em; }
.jumbotron .lead{ font-size: 1.3rem; color: var(--muted, #5b6472); }
.jumbotron a{ text-decoration: underline; }


/* 네온 다크 글래스 (섹시·모던, 개발자 행사에 찰떡) */
.jmb--dark{
  color: #e5e7eb;
  background:
    radial-gradient(800px 300px at 10% -10%, rgba(139,92,246,.20), transparent 60%),
    radial-gradient(600px 260px at 100% 0%, rgba(34,211,238,.18), transparent 60%),
    linear-gradient(180deg, #0b0f19, #111827);
  border-color: #1f2937;
  box-shadow: 0 20px 50px rgba(0,0,0,.35);
}
.jmb--dark .lead{ color:#cbd5e1; }
.jmb--dark a{ color:#93c5fd; }

/* 파스텔 라이트 그라디언트 (밝고 산뜻, 프린트/프로젝터 친화) */
.jmb--pastel{
  color:#0f172a;
  background:
    radial-gradient(700px 280px at 0% -10%, rgba(124,58,237,.10), transparent 60%),
    radial-gradient(600px 240px at 100% 0%, rgba(6,182,212,.12), transparent 60%),
    linear-gradient(180deg, #ffffff, #fafafa);
  border-color:#e5e7eb;
  box-shadow:0 10px 30px rgba(16,24,40,.08);
}
.jmb--pastel .lead{ color:#5b6472; }
.jmb--pastel a{ color:#7c3aed; }


/* 사진 배경 + 그라디언트 오버레이 (히어로 느낌) */
.jmb--photo{
  position: relative; overflow: hidden; color: #fff;
  background: #0b0f19; border-color: #1f2937;
}
.jmb--photo::before{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.50), rgba(0,0,0,.55)),
    var(--hero-bg) center/cover no-repeat;
  /* --hero-bg 는 style 속성으로 넘김 */
  filter: saturate(110%) contrast(105%);
}
.jmb--photo > *{ position: relative; z-index: 1; }
.jmb--photo .lead{ color: #e5e7eb; }
.jmb--photo a{ color:#c7d2fe; }

/* 반응형/디테일 */
@media (max-width: 576px){
  .jumbotron{ padding: 16px; }
  .jumbotron img{ width:100% !important; }
}