/* ==========================================================
 Tokyo Derma 2026 - Congress Page
 ========================================================== */

* { margin: 0; padding: 0; box-sizing: border-box; } 

:root { --cream: #f5f0e8; --cream-alt: #ede8df; --black: #1a1a1a; --gold: #c4a44a; --gold-soft: #e8d9a8; --purple: #6b4fa0; --purple-soft: #301458; --purple-dark: #4a3270; --purple-grad: linear-gradient(135deg, #c9a04a 0%, #d4705a 50%, #8b5fa0 100%); --ink: #2a2830; --ink-soft: #6b6a72; --line: #ddd8ce; --font-display: 'Times New Roman', Times, serif; --font-body: 'Pretendard', -apple-system, sans-serif; } 

html { scroll-behavior: smooth; } 

body { font-family: var(--font-body); color: var(--ink); background-color: var(--cream); overflow-x: hidden; } 

.container { max-width: 1400px; margin: 0 auto; padding: 0 2rem; } 

section { padding: 7rem 0; position: relative; } 

.eyebrow { font-size: 0.68rem; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold); font-weight: 700; } 

.rule { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; } 

.rule-line { height: 1px; background: var(--line); flex: 1; } 

.rule-mark { width: 7px; height: 7px; border: 1px solid var(--gold); transform: rotate(45deg); flex-shrink: 0; } 

/* ============ HERO ============ */

.hero-bg { padding: 0; width: 100%; background-image: url("/images/Conference/derma_hero.png"); background-size: cover; background-position: center top; background-repeat: no-repeat; } 

.hero { width: 100%; max-width: 1400px; margin: 0 auto; min-height: 100vh; display: grid; grid-template-columns: 1fr 420px; align-items: stretch; overflow: hidden; position: relative; padding: 110px 0; } 

.hero-left { background: rgba(245, 240, 232, 0.88); /* --cream 톤 오버레이, 어두운 텍스트 가독성 확보 */
 display: flex; flex-direction: column; justify-content: center; padding: 6rem 4rem 6rem 8%; position: relative; } 

.hero-right { background-image: linear-gradient(135deg, rgba(201, 160, 74, 0.78) 0%, rgba(212, 112, 90, 0.78) 50%, rgba(139, 95, 160, 0.82) 100%); background-size: cover; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 4rem 3rem; position: relative; text-align: center; color: #fff; } 

.hero-right::before { content: ''; position: absolute; top: 3rem; bottom: 3rem; left: 0; width: 1px; background: rgba(255, 255, 255, 0.12); } 

.hero-brand { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 3rem; } 

.hero-brand-line { width: 32px; height: 1px; background: var(--gold); } 

.hero-brand-text { font-size: 0.62rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--ink-soft); font-weight: 600; } 

.hero-sub { font-size: 0.72rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); font-weight: 700; margin-bottom: 1rem; } 

.hero h1 { font-family: var(--font-display); font-weight: 700; color: var(--black); line-height: 0.92; margin-bottom: 2.5rem; } 

.hero h1 .line-tokyo { display: block; font-size: 6.5rem; letter-spacing: 0.04em; } 

.hero h1 .line-derma { display: block; font-size: 6.5rem; color: var(--gold); letter-spacing: 0.04em; font-style: italic; } 

.hero-desc { font-size: 0.95rem; color: var(--ink-soft); line-height: 1.8; max-width: 420px; margin-bottom: 3rem; } 

.hero-tags { display: flex; gap: 0.65rem; flex-wrap: wrap; } 

.hero-tag { font-size: 0.68rem; letter-spacing: 0.15em; text-transform: uppercase; font-weight: 600; padding: 0.45rem 1rem; border: 1px solid var(--line); color: var(--ink-soft); } 

.hero-date-big { font-family: var(--font-display); font-size: 5rem; font-weight: 700; line-height: 1; color: #fff; margin-bottom: 0.25rem; } 

.hero-date-day { font-size: 0.7rem; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); font-weight: 600; margin-bottom: 2.5rem; } 

.hero-info-divider { width: 40px; height: 1px; background: rgba(255, 255, 255, 0.25); margin: 0 auto 2.5rem; } 

.hero-venue-label { font-size: 0.6rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold-soft); font-weight: 700; margin-bottom: 0.75rem; } 

.hero-venue-name { font-family: var(--font-display); font-size: 1.3rem; font-weight: 700; line-height: 1.3; margin-bottom: 0.5rem; } 

.hero-venue-city { font-size: 0.8rem; color: rgba(255, 255, 255, 0.55); letter-spacing: 0.1em; text-transform: uppercase; } 

.hero-hosted { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(255, 255, 255, 0.12); width: 100%; } 

.hero-hosted-label { font-size: 0.6rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255, 255, 255, 0.4); margin-bottom: 0.5rem; } 

.hero-hosted-name { font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; color: var(--gold-soft); } 

/* ============ ABOUT ============ */
.about-section { background: #fff; } 

.about-layout { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 5rem; align-items: start; } 

.section-header h2 { font-family: var(--font-display); font-size: 2.6rem; font-weight: 700; line-height: 1.2; color: var(--black); margin-bottom: 0.5rem; } 

.section-subtitle { font-size: 0.95rem; color: var(--ink-soft); line-height: 1.7; } 

.about-text { font-size: 1rem; line-height: 1.95; color: #3a3840; } 

.about-text p { margin-bottom: 1.4rem; } 

.about-text p:last-child { margin-bottom: 0; } 

.about-signoff { font-family: var(--font-display); font-style: italic; font-size: 1.15rem; color: var(--black); } 

.about-side { position: sticky; top: 2rem; } 

.about-card { border: 1px solid var(--line); background: var(--cream); } 

.about-card-head { background: var(--purple-grad); color: #fff; padding: 1.25rem 1.75rem; } 

.about-card-head-title { font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; } 

.about-card-body { padding: 0; } 

.about-card-row { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.75rem; border-bottom: 1px solid var(--line); font-size: 0.88rem; background: #fff; } 

.about-card-row:last-child { border-bottom: none; } 

.about-card-label { color: var(--ink-soft); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding-top: 0.1rem; } 

.about-card-value { text-align: right; font-weight: 600; } 

/* ============ HIGHLIGHTS ============ */
.highlights-section { background: var(--cream-alt); } 

.highlights-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--line); margin-top: 3rem; } 

.highlight-card { padding: 2.75rem 2.25rem; border-right: 1px solid var(--line); background: #fff; } 

.highlight-card:last-child { border-right: none; } 

.pricing-register-btn { display: block; width: 100%; margin-top: 20px; padding: 15px 20px; border-radius: 8px; background: #b79b6c; color: #fff; font-size: 16px; font-weight: 700; text-align: center; text-decoration: none; transition: .25s; box-sizing: border-box; } 

.pricing-register-btn:hover { background: #916821; transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0, 0, 0, .15); } 

.pricing-register-btn:active { transform: translateY(0); } 

.highlight-num { font-family: var(--font-display); font-size: 2rem; font-weight: 700; color: var(--purple-soft); line-height: 1; margin-bottom: 1.25rem; } 

.highlight-title { font-family: var(--font-display); font-size: 1.2rem; font-weight: 700; color: var(--black); margin-bottom: 0.75rem; } 

.highlight-accent { width: 24px; height: 2px; background: var(--gold); margin-bottom: 1rem; } 

.highlight-desc { font-size: 0.9rem; color: var(--ink-soft); line-height: 1.7; } 

/* ============ SPEAKERS ============ */
.speaker-section { background: var(--cream-alt); color: var(--black); } 

.speaker-section .eyebrow { color: var(--gold); } 

.speaker-section .rule-line { background: var(--line); } 

.speaker-section .section-header h2 { color: var(--black); } 

.speaker-section .section-subtitle { color: var(--ink-soft); } 

.speaker-card-logo { display: flex; flex-direction: column; align-items: center; justify-content: center; /* flex-start → center */
 padding-top: 0; /* 위쪽 고정 패딩 제거 */}

.speaker-logo { width: auto; max-width: 150px; /* 가로형 워드마크라 130px 정사각 대신 여유있게 */
 object-fit: contain; display: block; } 

/* hover 시 배경 변경 제외 - 브랜드 마무리 칸은 정적으로 유지 */
.speaker-card-logo:hover { background: #fff; } 

.speakers-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line); margin-top: 3rem; } 

.speaker-card { background: #fff; padding: 2.25rem 1.5rem; text-align: center; transition: background 0.25s ease; } 

.speaker-card:hover { background: var(--cream); } 

.speaker-photo { width: 130px; height: 130px; margin: 0 auto 1.25rem; border-radius: 50%; border: 2px solid var(--purple); object-fit: cover; object-position: top center; display: block; } 

.speaker-name { font-family: var(--font-display); font-size: 0.95rem; font-weight: 700; margin-bottom: 0.4rem; line-height: 1.3; color: var(--black); } 

.speaker-title { font-size: 0.75rem; color: var(--ink-soft); line-height: 1.6; } 

.speaker-country { display: inline-block; margin-top: 0.5rem; font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold); font-weight: 600; } 

.none_subtitle { margin-bottom: 0; } 

/* ============ SCHEDULE ============ */
.schedule-section { background: #fff; } 

.schedule-list { margin-top: 3rem; border-top: 2px solid var(--black); } 

.schedule-item { display: grid; grid-template-columns: 170px 1fr; gap: 1rem; padding: 2.25rem 0; } 

.schedule-time { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; color: var(--black); white-space: nowrap; padding-top: 0.2rem; } 

/* 시간 칩 (브레이크 제외) */
.schedule-item:not(.is-break) .schedule-time { display: inline-block; padding: 1.3rem 0.7rem; border-top: 2px solid var(--gold); } 

/* 세션 박스 (브레이크 제외) */
.schedule-item:not(.is-break) .schedule-body { border: 1px solid var(--line); border-top: 2px solid var(--gold); background: #fff; } 

/* 세션 헤더 - 크림 */
.schedule-head { padding: 1.1rem 1.5rem; background: var(--cream); border-bottom: 1px solid var(--line); } 

/* 발표 목록이 없는 헤더(Welcome Address)는 하단 이중선 제거 */
.schedule-head:last-child { border-bottom: none; } 

.schedule-session-label { font-size: 0.68rem; letter-spacing: 0.2em; color: var(--gold); font-weight: 700; margin-bottom: 0.3rem; } 

.schedule-session-title { font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; line-height: 1.25; color: var(--black); } 

.schedule-meta { margin-top: 0.2rem; font-size: 0.88rem; color: var(--ink-soft); } 

.schedule-meta-label { margin-right: 0.6rem; font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; font-weight: 700; color: var(--gold); } 

.schedule-meta-value { font-size: 0.95rem; color: var(--purple); font-family: var(--font-display); font-weight: 600; } 

/* 발표 목록 */
.schedule-talks { list-style: none; padding: 0.35rem 0; } 

.schedule-talk { display: grid; grid-template-columns: 240px 1fr; gap: 1.5rem; padding: 0.95rem 1.5rem; border-bottom: 1px dashed var(--line); transition: background 0.2s ease; } 

.schedule-talk:hover { background: var(--cream); } 

.schedule-talk:last-child { border-bottom: none; } 

.schedule-talk-speaker { font-size: 0.92rem; font-weight: 600; color: var(--black); line-height: 1.6; } 

.schedule-talk-title { font-size: 0.92rem; font-weight: 500; color: var(--ink-soft); line-height: 1.65; } 

.schedule-talk-title.is-pending { font-weight: 400; color: var(--ink-soft); } 

/* Break (Coffee Break) */
.schedule-item.is-break { grid-template-columns: 170px 1fr; align-items: center; padding: 0.75rem 0; background: #eeeeee; padding-left: 1.1rem; } 

.schedule-item.is-break .schedule-time { font-size: 1rem; font-weight: 600; color: var(--ink-soft); padding-top: 0; } 

.schedule-break-title { font-size: 0.92rem; font-weight: 600; color: var(--ink-soft); white-space: nowrap; } 

.schedule-status { margin-top: 2rem; padding-left: 1rem; border-left: 2px solid var(--gold); font-size: 0.9rem; line-height: 1.7; color: var(--ink-soft); } 

/* SCHEDULE responsive */
@media (max-width: 900px){
 .schedule-item { grid-template-columns: 1fr; gap: 0.75rem; padding: 1.75rem 0; } 

 .schedule-time { font-size: 1rem; padding-top: 0; } 

 .schedule-item:not(.is-break) .schedule-time { display: inline-block; justify-self: start; padding: 0.3rem 0.7rem; background: var(--cream); border-top: 2px solid var(--gold); } 

 .schedule-head { padding: 1rem 1.1rem; } 

 .schedule-talks { padding: 0.25rem 0; } 

 .schedule-talk { grid-template-columns: 1fr; gap: 0.15rem; padding: 0.95rem 1.1rem; } 

 .schedule-item.is-break { grid-template-columns: 1fr; gap: 0.25rem; padding: 0.5rem 1rem; } 

 .schedule-break-title { white-space: normal; } 
 }

@media (max-width: 480px){
 .schedule-session-title { font-size: 1.25rem; } 
 }

/* ============ PRICING ============ */


/* .pricing-card.is-closed { opacity: 0.55; } */

/* .pricing-card.is-closed .pricing-price { text-decoration: line-through; } */

.pricing-section { background: var(--cream-alt); } 

.pricing-header { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 1rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(196, 164, 74, 0.45); margin-bottom: 1.5rem; } 

.pricing-title { font-family: var(--font-display); font-size: 2.2rem; font-weight: 700; color: var(--black); } 

.pricing-eyebrow-right { font-size: 0.68rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(--ink-soft); font-weight: 700; } 

.pricing-desc { font-size: 0.95rem; color: var(--ink-soft); line-height: 1.75; max-width: 760px; margin-bottom: 3rem; } 

.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } 

.pricing-card { background: #fff; border: 1px solid var(--line); overflow: hidden; } 

.pricing-card.is-early.is-closed { border-color: #d6d9df; background: #f4f5f7; } 

.pricing-card.is-early.is-closed .pricing-card-head { background: linear-gradient(135deg, #747985 0%, #525864 100%); } 

.pricing-card.is-early.is-closed .pricing-card-body { background: repeating-linear-gradient(135deg, #f4f5f7, #f4f5f7 12px, #eef0f3 12px, #eef0f3 24px); } 

.pricing-card.is-early.is-closed .pricing-until { color: #777e89; } 

.pricing-card.is-early.is-closed .pricing-price { color: #737985; text-decoration: line-through; text-decoration-thickness: 2px; } 

.pricing-closed-badge { display: inline-block; margin: 0 0 0.75rem; padding: 0.35rem 0.65rem; border: 1px solid #aeb4be; border-radius: 999px; background: #e4e7ec; color: #525864; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } 

.pricing-closed-message { padding: 0.8rem 0.9rem; border-left: 3px solid #777e89; background: rgba(255, 255, 255, 0.8); color: #555c67; font-size: 0.82rem; line-height: 1.55; } 

.pricing-card-head { padding: 0.85rem 1.5rem; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 700; } 

.pricing-card.is-early .pricing-card-head { background: linear-gradient(135deg, #c9a04a 0%, #8b6a2f 100%); color: #fff; } 

.pricing-card.is-standard .pricing-card-head { background: rgba(107, 79, 160, 0.12); color: var(--purple); } 

.pricing-card.is-standard .pricing-register-btn { background: var(--purple); } 

.pricing-card.is-standard .pricing-register-btn:hover { background: var(--purple-dark); } 

.pricing-card.is-standard .pricing-register-btn:focus-visible { outline: 3px solid rgba(107, 79, 160, 0.35); outline-offset: 3px; } 

.pricing-card.is-onsite .pricing-card-head { background: #f0efec; color: var(--ink-soft); } 

.pricing-card-body { padding: 1.75rem 1.5rem 2rem; } 

.pricing-until { font-size: 0.8rem; color: var(--ink-soft); margin-bottom: 0.75rem; } 

.pricing-price { font-family: var(--font-display); font-size: 2.1rem; font-weight: 700; color: var(--black); margin-bottom: 0.6rem; } 

.pricing-note { font-size: 0.8rem; color: var(--ink-soft); } 

.pricing-note.is-best { color: var(--gold); font-weight: 700; } 

/* ============ EXHIBITORS ============ */
.exhibitors-section { background: #fff; } 

.exhibitors-grid { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 3rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); } 

.exhibitor-card { min-height: 150px; padding: 2rem 1.5rem; display: flex; align-items: center; justify-content: center; text-align: center; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background 0.25s ease, transform 0.25s ease; } 

.exhibitor-card:nth-child(even) { background: #fff; } 

.exhibitor-card:hover { background: var(--cream-alt); transform: translateY(-3px); } 

.exhibitor-logo { display: block; width: 100%; max-width: 170px; max-height: 72px; object-fit: contain; } 

/* ============ CONTACT ============ */
.contact-section { background: var(--purple-grad); color: #fff; text-align: center; padding: 6rem 0; } 

.contact-section h3 { font-family: var(--font-display); font-size: 2.4rem; font-weight: 700; margin-bottom: 1rem; } 

.contact-section p { font-size: 0.95rem; color: rgba(255, 255, 255, 0.65); margin-bottom: 0.5rem; } 

.contact-site { display: inline-block; font-size: 1rem; color: var(--gold-soft); font-weight: 600; margin-top: 1.5rem; text-decoration: none; border-bottom: 1px solid rgba(232, 217, 168, 0.4); padding-bottom: 0.15rem; } 

.contact-tags { color: rgba(255, 255, 255, 0.4); font-size: 0.82rem; letter-spacing: 0.06em; font-weight: 500; margin-top: 1.75rem; } 

.contact-secondary { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(255, 255, 255, 0.15); } 

.contact-secondary p { font-size: 0.82rem; color: rgba(255, 255, 255, 0.55); margin-bottom: 0.75rem; } 

.contact-secondary .contact-site { font-size: 0.85rem; margin-top: 0; } 

/* ============ FOOTER ============ */
footer { background: var(--cream-alt); border-top: 1px solid var(--line); padding: 2.5rem 0; text-align: center; } 

.footer-text { font-size: 0.8rem; color: var(--ink-soft); letter-spacing: 0.03em; line-height: 1.8; } 

.footer-text strong { color: var(--gold); font-weight: 600; } 

/* ============ FLOATING ============ */
.floating-buttons { position: fixed; bottom: 30px; right: 30px; z-index: 999; display: flex; flex-direction: column; gap: 0.75rem; } 

.floating-btn { width: 48px; height: 48px; border-radius: 50%; background: var(--purple-grad); color: #fff; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.25s ease; box-shadow: 0 4px 16px rgba(107, 79, 160, 0.35); } 

.floating-btn:hover { background: var(--purple-dark); } 

.floating-btn.hidden { opacity: 0; pointer-events: none; transform: translateY(15px); } 

/* ============ RESPONSIVE ============ */
@media (max-width: 1024px){
 .hero { grid-template-columns: 1fr 340px; } 

 .hero h1 .line-tokyo,
 .hero h1 .line-derma { font-size: 5rem; } 

 .hero-date-big { font-size: 3.8rem; } 

 body { background: none; } 
 }

@media (max-width: 900px){
 .container { padding: 0 1rem; } 

 .hero { grid-template-columns: 1fr; grid-template-rows: auto auto; } 

 .hero-left { padding: 5rem 2rem 3rem; } 

 .hero h1 .line-tokyo,
 .hero h1 .line-derma { font-size: 4rem; } 

 .hero-right { padding: 3rem 2rem; flex-direction: row; flex-wrap: wrap; gap: 2rem; justify-content: center; text-align: center; } 

 .hero-right::before { display: none; } 

 .hero-hosted { margin-top: 0; padding-top: 0; border-top: none; } 

 section { padding: 4.5rem 0; } 

 .about-layout { grid-template-columns: 1fr; gap: 3rem; } 

 .about-side { position: static; } 

 .highlights-grid { grid-template-columns: 1fr; } 

 .highlight-card { border-right: none; border-bottom: 1px solid var(--line); } 

 .highlight-card:last-child { border-bottom: none; } 

 .speakers-grid { grid-template-columns: repeat(3, 1fr); } 

 /* 카드 20장(연자 19 + 로고 1): 3열에서 마지막 줄 빈 칸이 생기지 않도록 로고를 2칸 차지 */
 .speaker-card-logo { grid-column: span 2; } 

 .exhibitors-grid { grid-template-columns: repeat(3, 1fr); } 

 .pricing-grid { grid-template-columns: 1fr; } 
 }

@media (max-width: 480px){
 .speaker-card { background: #fff; padding: 2.25rem .5rem; text-align: center; transition: background 0.25s ease; } 

 .section-header h2 { font-size: 2.2rem; } 

 .hero h1 .line-tokyo,
 .hero h1 .line-derma { font-size: 3rem; } 

 .speakers-grid { grid-template-columns: repeat(2, 1fr); } 

 /* 2열에서는 로고가 1칸 */
 .speaker-card-logo { grid-column: span 1; } 

 .exhibitors-grid { grid-template-columns: repeat(2, 1fr); } 

 .exhibitor-card { min-height: 125px; padding: 1.5rem 1rem; } 

 .hero-left { padding: 4rem 1.5rem 2rem; } 
 }


/* ==========================================================
 LUNCHEON SEMINAR
 ========================================================== */

.schedule-item-luncheon { align-items: stretch; } 

.schedule-item-luncheon .schedule-body { display: block; width: 100%; } 

/* 콘텐츠 박스 배경 */
.schedule-item.schedule-item-luncheon:not(.is-break) .schedule-body { background: #eeeeee; padding: 1.1rem 1.5rem; } 

/* 상단 골드 보더 제거 (시간 칩 + 콘텐츠 박스) */
.schedule-item.schedule-item-luncheon:not(.is-break) .schedule-time,
.schedule-item.schedule-item-luncheon:not(.is-break) .schedule-body { background: #eeeeee; border-top: none; border-bottom: none; } 

.schedule-item-luncheon .schedule-break-title { display: block; margin-bottom: 0.5rem; font-size: 1rem; font-weight: 600; color: var(--ink-soft); white-space: nowrap; border-bottom: 1px dashed var(--line); padding-bottom: 10px; } 


/* Luncheon Content
 ---------------------------------------------------------- */

.schedule-luncheon-content { display: grid; grid-template-columns: minmax(150px, 0.1fr) minmax(320px, 1fr); gap: 3rem; align-items: center; } 


/* Chair / Discussants
 ---------------------------------------------------------- */

.schedule-luncheon-people { display: flex; flex-direction: column; } 

.schedule-luncheon-person { display: flex; flex-direction: column; } 

.schedule-luncheon-name { display: block; /* font-family: var(--font-display); */
 font-size: 0.92rem; line-height: 1.5; font-weight: 600; color: var(--black); white-space: nowrap; } 

/* Common Seminar Title
 ---------------------------------------------------------- */

.schedule-luncheon-title { display: flex; align-items: center; min-height: 100%; font-size: 1rem; line-height: 1.75; font-weight: 400; color: var(--ink-soft); } 


/* ==========================================================
 LUNCHEON RESPONSIVE
 ========================================================== */

@media (max-width: 900px){
 .schedule-luncheon-content { grid-template-columns: 1fr; gap: 1rem; } 

 .schedule-luncheon-people { gap: 0.1rem; } 

 .schedule-luncheon-title { padding-top: 0.25rem; } 

 /* 시간 칩 배경을 콘텐츠 박스와 같은 회색으로 */
 .schedule-item.schedule-item-luncheon:not(.is-break) .schedule-time { background: #eeeeee; } 
 }


@media (max-width: 480px){
 .schedule-item-luncheon .schedule-break-title { font-size: 0.92rem; } 

 .schedule-luncheon-name { font-size: 0.9rem; } 

 .schedule-luncheon-title { font-size: 0.9rem; line-height: 1.65; } 
 }