.elementor-22788 .elementor-element.elementor-element-5be9cf8 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-22788 .elementor-element.elementor-element-68c0803{--spacer-size:50px;}/* Start custom CSS for section, class: .elementor-element-d894864 *//* =========================
   전체 공통 설정
========================= */
:root{
  --pink:#ff4593;
  --pink-dark:#e73581;
  --pink-soft:#fff1f7;
  --pink-line:#ffc6dd;
  --black:#111111;
  --text:#222222;
  --text-soft:#5f5f68;
  --white:#ffffff;
  --bg:#fff8fb;
  --card:#ffffff;
  --line:#f1d8e4;
  --shadow:0 12px 32px rgba(17,17,17,0.08);
  --shadow-soft:0 8px 24px rgba(255,69,147,0.08);
  --radius-lg:24px;
  --radius-md:18px;
  --radius-sm:14px;
  --container:1160px;
}

*{
  box-sizing:border-box;
}


section{
  position:relative;
}

.container{
  width:min(var(--container), calc(100% - 32px));
  margin:0 auto;
}

/* 링크/버튼 기본 */
a{
  color:inherit;
  text-decoration:none;
}

strong{
  font-weight:800;
  color:var(--black);
}

/* =========================
   섹션 타이틀
========================= */
.section-label{
  display:inline-block;
  font-size:clamp(0.75rem, 0.72rem + 0.2vw, 0.9rem);
  font-weight:800;
  letter-spacing:0.08em;
  color:var(--pink);
  margin:0 0 12px 0;
  padding:7px 12px;
  background:rgba(255,69,147,0.08);
  border:1px solid rgba(255,69,147,0.18);
  border-radius:999px;
}

.section-title{
  font-size:clamp(1.6rem, 1.25rem + 1.4vw, 2.5rem);
  font-weight:900;
  line-height:1.28;
  margin:0 0 28px 0;
  color:var(--black);
  letter-spacing:-0.03em;
}

/* =========================
   히어로
========================= */
.hero{
  min-height:clamp(420px, 72vh, 680px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:clamp(56px, 8vw, 88px) 16px;
  background:
    radial-gradient(circle at 50% 15%, rgba(255,69,147,0.14) 0%, rgba(255,69,147,0.05) 26%, transparent 52%),
    linear-gradient(180deg, #fff8fb 0%, #fff1f7 100%);
  overflow:hidden;
}

.hero::before{
  content:"";
  position:absolute;
  inset:auto auto 8% 50%;
  transform:translateX(-50%);
  width:min(720px, 88vw);
  height:min(220px, 28vw);
  background:radial-gradient(circle, rgba(255,69,147,0.10) 0%, rgba(255,69,147,0.04) 45%, transparent 75%);
  pointer-events:none;
  filter:blur(12px);
}

.hero-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:38px;
  padding:8px 16px;
  margin:0 0 20px 0;
  background:var(--white);
  color:var(--pink-dark);
  border:1px solid var(--pink-line);
  border-radius:999px;
  box-shadow:var(--shadow-soft);
  font-size:clamp(0.82rem, 0.78rem + 0.2vw, 0.95rem);
  font-weight:800;
}

.hero-title{
  margin:0 0 16px 0;
  font-size:clamp(2rem, 1.3rem + 3.2vw, 4.1rem);
  font-weight:900;
  line-height:1.12;
  letter-spacing:-0.04em;
  color:var(--black);
}

.hero-title .highlight{
  color:var(--pink);
}

.hero-sub{
  margin:0;
  font-size:clamp(1rem, 0.92rem + 0.45vw, 1.2rem);
  line-height:1.7;
  color:var(--text-soft);
  max-width:760px;
  font-weight:500;
}

/* =========================
   공감 섹션
========================= */
.empathy{
  padding:clamp(56px, 7vw, 92px) 0;
  background:var(--white);
}

.pain-list{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:14px;
  margin:0 0 24px 0;
}

.pain-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:18px 18px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  box-shadow:0 6px 18px rgba(17,17,17,0.04);
  color:var(--text);
  font-size:clamp(0.95rem, 0.9rem + 0.18vw, 2rem);
  line-height:1.55;
}

.pain-item span{
  flex:1;
}

.empathy-answer{
  padding:22px 20px;
  background:linear-gradient(135deg, #fff0f7 0%, #ffffff 100%);
  border:1px solid var(--pink-line);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-soft);
  color:var(--text);
  font-size:clamp(0.98rem, 0.94rem + 0.2vw, 1.06rem);
  line-height:1.75;
}

.empathy-answer p {
  font-size:clamp(0.95rem, 0.9rem + 0.18vw, 2rem); !important;
}
.empathy-answer strong{
  color:var(--pink-dark);
  line-height:2;
}

/* =========================
   세미나 정보
========================= */
.info{
  padding:clamp(56px, 7vw, 92px) 0;
  background:linear-gradient(180deg, #fff8fb 0%, #fff3f8 100%);
}

.info-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:16px;
}

.info-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:26px 20px;
  text-align:center;
  box-shadow:var(--shadow);
  transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.info-card:hover{
  transform:translateY(-3px);
  border-color:var(--pink-line);
  box-shadow:0 16px 34px rgba(17,17,17,0.09);
}

.info-card.highlight-card{
  background:linear-gradient(135deg, #ff4593 0%, #ff79b0 100%);
  border-color:transparent;
}

.info-icon{
  font-size:2rem;
  margin-bottom:10px;
}

.info-label{
  font-size:clamp(0.78rem, 0.75rem + 0.15vw, 0.88rem);
  font-weight:800;
  letter-spacing:0.08em;
  color:var(--pink);
  margin-bottom:8px;
}

.info-card.highlight-card .info-label{
  color:rgba(255,255,255,0.9);
}

.info-value{
  font-size:clamp(0.95rem, 0.9rem + 0.2vw, 1rem);
  color:var(--text);
  line-height:1.7;
}

.info-card.highlight-card .info-value,
.info-card.highlight-card .info-value strong{
  color:#fff;
}

/* =========================
   커리큘럼
========================= */
.curriculum{
  padding:clamp(56px, 7vw, 92px) 0;
  background:var(--white);
}

.timeline{
  position:relative;
  padding-left:22px;
}

.timeline::before{
  content:"";
  position:absolute;
  left:7px;
  top:8px;
  bottom:8px;
  width:2px;
  background:linear-gradient(180deg, rgba(255,69,147,0.35) 0%, rgba(255,69,147,0.95) 45%, rgba(17,17,17,0.25) 100%);
  border-radius:999px;
}

.timeline-item{
  position:relative;
  margin:0 0 14px 0;
  padding:22px 18px 22px 20px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 8px 24px rgba(17,17,17,0.05);
}

.timeline-item::before{
  content:"";
  position:absolute;
  left:-21px;
  top:28px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--pink);
  border:3px solid #fff;
  box-shadow:0 0 0 4px rgba(255,69,147,0.10);
}

.timeline-item.break::before{
  background:#999999;
}

.timeline-item.share::before{
  background:#111111;
}

.time-badge{
  display:inline-block;
  margin:0 0 10px 0;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(255,69,147,0.08);
  border:1px solid rgba(255,69,147,0.18);
  color:var(--pink-dark);
  font-size:clamp(0.72rem, 0.7rem + 0.14vw, 0.82rem);
  font-weight:800;
  letter-spacing:0.04em;
}

.session-tag{
  display:inline-block;
  margin:0 0 10px 0;
  padding:5px 10px;
  border-radius:8px;
  background:#111111;
  color:#ffffff;
  font-size:clamp(0.72rem, 0.7rem + 0.14vw, 0.8rem);
  font-weight:800;
  letter-spacing:0.04em;
}

.session-tag.tag-blue{
  background:#ffe0ed;
  color:#cc2f73;
}

.session-tag.tag-purple{
  background:#ffd3e5;
  color:#b51f66;
}

.session-tag.tag-gray{
  background:#f2f2f2;
  color:#666666;
}

.session-tag.tag-yellow{
  background:#111111;
  color:#ffffff;
}

.timeline-content h3{
  margin:0 0 8px 0;
  font-size:clamp(1.02rem, 0.98rem + 0.28vw, 1.18rem);
  line-height:1.45;
  color:var(--black);
  font-weight:800;
  letter-spacing:-0.02em;
}

.timeline-content p{
  margin:0;
  font-size:clamp(0.93rem, 0.9rem + 0.18vw, 1rem);
  color:var(--text-soft);
  line-height:1.75;
}

.tip{
  display:inline-block;
  margin-top:8px;
  color:var(--pink-dark);
  font-weight:700;
}

/* =========================
   기대 효과
========================= */
.result{
  padding:clamp(56px, 7vw, 92px) 0;
  background:linear-gradient(180deg, #fff4f9 0%, #ffffff 100%);
}

.result-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:16px;
}

.result-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:28px 20px;
  text-align:center;
  box-shadow:var(--shadow);
}

.result-icon{
  font-size:2.2rem;
  margin-bottom:12px;
}

.result-card h3{
  margin:0 0 8px 0;
  font-size:clamp(1rem, 0.96rem + 0.2vw, 1.08rem);
  color:var(--black);
  font-weight:800;
}

.result-card p{
  margin:0;
  font-size:clamp(0.92rem, 0.88rem + 0.16vw, 0.98rem);
  color:var(--text-soft);
  line-height:1.7;
}

/* =========================
   신청 섹션
========================= */
.apply{
  padding:clamp(60px, 8vw, 96px) 0;
  text-align:center;
  background:
    radial-gradient(circle at 50% 15%, rgba(255,255,255,0.18) 0%, transparent 34%),
    linear-gradient(135deg, #111111 0%, #2a2a2a 100%);
}

.apply .container{
  width:min(860px, calc(100% - 32px));
}

.apply-title{
  margin:0 0 14px 0;
  font-size:clamp(1.8rem, 1.3rem + 1.6vw, 2.7rem);
  font-weight:900;
  line-height:1.25;
  color:#ffffff;
  letter-spacing:-0.03em;
}

.apply-sub{
  margin:0 0 20px 0;
  font-size:clamp(1rem, 0.95rem + 0.25vw, 1.12rem);
  line-height:1.75;
  color:rgba(255,255,255,0.82);
}

.apply-notice{
  margin:0;
  font-size:clamp(0.82rem, 0.8rem + 0.12vw, 0.92rem);
  color:rgba(255,255,255,0.68);
}

/* =========================
   버튼 스타일
   (현재 HTML에 버튼이 없어도
    나중에 추가하면 바로 적용 가능)
========================= */
.btn-primary,
.btn-apply{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:16px 30px;
  border:none;
  border-radius:999px;
  background:linear-gradient(135deg, var(--pink) 0%, var(--pink-dark) 100%);
  color:#fff;
  font-size:clamp(0.98rem, 0.94rem + 0.2vw, 1.08rem);
  font-weight:800;
  box-shadow:0 14px 30px rgba(255,69,147,0.28);
  transition:transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.btn-primary:hover,
.btn-apply:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(255,69,147,0.34);
  filter:brightness(1.03);
}

/* =========================
   가격박스가 있을 경우 대비
========================= */
.price-box{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:12px;
  margin:0 auto 28px auto;
  padding:14px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.14);
  border-radius:20px;
  width:min(680px, 100%);
}

.price-item{
  flex:1 1 220px;
  min-width:180px;
  padding:18px 16px;
  border-radius:16px;
  background:rgba(255,255,255,0.08);
}

.price-label{
  display:block;
  margin-bottom:6px;
  color:rgba(255,255,255,0.7);
  font-size:0.82rem;
  font-weight:700;
  letter-spacing:0.05em;
}

.price-value{
  display:block;
  color:#fff;
  font-size:clamp(1.3rem, 1.1rem + 0.8vw, 1.8rem);
  font-weight:900;
}

.price-value.free{
  color:#ff9fc5;
}

.price-divider{
  display:none;
}



/* =========================
   여백 보정
========================= */
.hero > *:last-child,
.empathy .container > *:last-child,
.info .container > *:last-child,
.curriculum .container > *:last-child,
.result .container > *:last-child,
.apply .container > *:last-child{
  margin-bottom:0;
}

/* ===== 강사 섹션 ===== */
.speaker{
  padding:clamp(60px, 8vw, 100px) 0;
  background:#ffffff;
}

/* 카드 */
.speaker-card{
  display:flex;
  flex-direction:column;   /* 👈 핵심 */
  align-items:center;      /* 가운데 정렬 */
  text-align:center;
  background:#fff;
  border:1px solid #f3d6e4;
  border-radius:24px;
  padding:clamp(24px, 4vw, 40px);
  box-shadow:0 20px 40px rgba(0,0,0,0.06);
}

/* ===== 사진 영역 ===== */
.speaker-photo-wrap{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  margin-bottom:20px;
  
}

/* 사진 박스 */
.speaker-photo{
  width:100%;
  max-width:320px;
  aspect-ratio:1/1;
  border-radius:20px;
  overflow:hidden;
  background:#ffe6f0;
  box-shadow:0 16px 30px rgba(255,69,147,0.15);
}

/* 이미지 */
.speaker-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* 사진 위 배지 */
.speaker-photo-badge{
  position:absolute;
  bottom:-12px;
  left:50%;
  transform:translateX(-50%);
  background:#ff4593;
  color:#fff;
  font-size:0.8rem;
  font-weight:700;
  padding:6px 14px;
  border-radius:999px;
  box-shadow:0 8px 20px rgba(255,69,147,0.3);
}

/* ===== 텍스트 영역 ===== */
.speaker-info{
  align-items:center;
  text-align:left;
}

/* 이름 */
.speaker-name{
  font-size:clamp(1.4rem, 1.2rem + 0.8vw, 2rem);
  font-weight:900;
  margin-bottom:6px;
  color:#111;
}

/* 직함 */
.speaker-role{
  font-size:clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem);
  color:#ff4593;
  font-weight:700;
  margin-bottom:16px;
}

/* 설명 */
.speaker-desc{
  font-size:clamp(0.95rem, 0.92rem + 0.2vw, 1.05rem);
  color:#555;
  line-height:1.8;
  margin-bottom:20px;
}

/* 포인트 리스트 */
.speaker-point-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* 포인트 */
.speaker-point{
  font-size:clamp(0.9rem, 0.88rem + 0.2vw, 1rem);
  color:#333;
  background:#fff5fa;
  border:1px solid #ffd1e6;
  padding:10px 14px;
  border-radius:12px;
}

/* 섹션 블록 */
.speaker-section{
  margin-top:24px;
}

/* 섹션 타이틀 */
.speaker-section-title{
  font-size:0.9rem;
  font-weight:800;
  color:#ff4593;
  margin-bottom:10px;
  letter-spacing:0.05em;
}

/* 리스트 */
.speaker-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

/* 리스트 아이템 */
.speaker-list li{
  font-size:0.92rem;
  color:#444;
  line-height:1.6;
  position:relative;
  padding-left:14px;
}

/* 앞 점 */
.speaker-list li::before{
  content:"•";
  position:absolute;
  left:0;
  color:#ff4593;
  font-weight:900;
}

/* ===== 수상 작품 ===== */
.award{
  padding:clamp(60px, 8vw, 100px) 0;
  background:#fff5fa;
}

/* 그리드 */
.award-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:20px;
}

/* 카드 */
.award-card{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  border:1px solid #ffd6e8;
  box-shadow:0 12px 28px rgba(255,69,147,0.1);
  transition:transform 0.2s ease;
}

.award-card:hover{
  transform:translateY(-4px);
}

/* 이미지 */
.award-image{
  width:100%;
  aspect-ratio:1/1;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff5fa;
}

.award-image img{
  max-width:90%;
  max-height:90%;
  object-fit:contain;
}

/* 텍스트 */
.award-info{
  padding:16px;
  text-align:center;
}

.award-title{
  font-size:0.95rem;
  font-weight:700;
  color:#111;
  margin-bottom:6px;
}

.award-desc{
  font-size:clamp(0.9rem, 0.88rem + 0.2vw, 2rem);
  color:#ff4593;
  font-weight:600;
}

.cta{
  padding:clamp(60px, 8vw, 100px) 0;
  background:linear-gradient(135deg, #ff6fae 0%, #ff9fc5 100%);
  text-align:center;
  color:#fff;
}

.cta-title{
  font-size:clamp(1.8rem, 1.4rem + 1.5vw, 2.8rem);
  font-weight:900;
  margin-bottom:16px;
  color: #000;
}

.cta-sub{
  font-size:clamp(1rem, 0.95rem + 0.3vw, 1.15rem);
  line-height:1.7;
  margin-bottom:30px;
  color: #000;
}

.cta-btn{
  display:inline-block;
  background:#111;
  color:#fff;
  font-weight:800;
  padding:18px 40px;
  border-radius:999px;
  font-size:1.05rem;
  box-shadow:0 12px 30px rgba(0,0,0,0.25);
  transition:all 0.2s ease;
}

.cta-btn:hover{
  transform:translateY(-3px);
}

.cta-note{
  margin-top:16px;
  font-size:1rem;
  opacity:0.9;
  color: #000;
}/* End custom CSS */