:root{
  --accent:#8B5FBF; /* 자주색/연보라 메인 */
  --accent-light:#D4C4F9; /* 연보라 라이트 */
  --accent-bg:#F5F0FF; /* 연보라 매우 연한 배경 */
  --muted:#666;
  --bg:#F5F0FF; /* 밝은 연보라 배경 */
  --surface:#FFF; /* 카드 bg - 흰색 */
  --text:#333;
  --max-width:1200px;
}
*{box-sizing:border-box}
body{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans KR", "Helvetica", Arial, "Noto Sans", sans-serif; margin:0; color:var(--text); background:var(--bg); line-height:1.7}
.wrap{max-width:var(--max-width); margin:0 auto; padding:24px}
.site-header{border-bottom:1px solid rgba(139,95,191,0.08); background:var(--bg)}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.brand img{height:48px}
.main-nav a{margin-left:24px;color:#333;text-decoration:none;font-weight:600;transition:color .2s ease}
.main-nav a:hover{color:var(--accent)}
.main-nav .btn-cta{background:var(--accent);color:#fff;padding:10px 20px;border-radius:6px;margin-left:16px}
.main-nav .btn-cta:hover{background:#7a4fa3;color:#fff}
.hero{padding:100px 0;background:linear-gradient(135deg, var(--accent-bg) 0%, #FFF 100%)}
.hero-large{padding:120px 0}
.hero-inner{display:flex;gap:48px;align-items:center}
.hero-text{flex:1;z-index:2}
.hero-text h1{font-size:4.2rem;margin:0 0 18px;font-weight:800;letter-spacing:-1px;line-height:1.1;color:#1a1a2e}
.hero-text p{color:#666;margin:0 0 28px;font-size:1.1rem}
.hero-ctas .btn{margin-right:12px;font-size:1rem}
.hero-visual{display:flex;align-items:center;justify-content:center;width:60%;flex-shrink:0}
.hero-illustration-wrap{position:relative;width:100%;max-width:720px;height:auto}
.hero-illustration{width:48%;height:auto;border-radius:14px;box-shadow:0 18px 40px rgba(191,162,255,0.14);display:none}
.hero-illustration.left{display:none}
.hero-illustration.right{display:none}
.hero-badge{display:none}

/* Students in front */
/* student foreground removed — styles cleared */

/* hero students (center front) */
.hero-students{display:none}
.hero-student{display:none}

.features{padding:80px 0}
.features h2{margin-top:0;font-size:3.6rem;margin-bottom:48px;font-weight:800;color:#1a1a2e}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
article{background:#fff;border:1px solid rgba(191,162,255,0.15);padding:32px;border-radius:10px;transition:all .28s ease}
article:hover{border-color:var(--accent);box-shadow:0 16px 40px rgba(191,162,255,0.12);background:#fff}
article h3{font-size:1.4rem;margin-top:0;color:#1a1a2e}
.contact-cta{text-align:center;padding:80px 24px;background:rgba(191,162,255,0.15);border-radius:16px}
.contact-cta h2{font-size:3.2rem;margin-bottom:16px;font-weight:800;color:#1a1a2e}
.contact-cta p{font-size:1.1rem;color:#666}
.site-footer{border-top:1px solid rgba(191,162,255,0.1);padding:32px 0;margin-top:0;background:var(--surface)}
.footer-left{display:flex;gap:12px;align-items:center}
.footer-left p{color:var(--muted)}
.footer-logo{height:40px}
.footer-nav{display:flex;gap:8px}
.footer-nav a{color:var(--text);text-decoration:none;margin:0 12px;transition:color .2s ease;font-weight:600}
.footer-nav a:hover{color:var(--accent)}

.btn{display:inline-block;padding:14px 28px;border-radius:6px;background:var(--surface);color:var(--text);text-decoration:none;font-weight:600;transition:all .28s ease;border:2px solid transparent}
.btn.primary{background:var(--accent);color:#fff;box-shadow:0 8px 24px rgba(191,162,255,0.18)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(191,162,255,0.28)}
.btn.outline{background:transparent;border:2px solid var(--accent);color:var(--accent)}
.btn.outline:hover{background:rgba(191,162,255,0.08)}
.btn.small{padding:10px 16px;font-size:0.95rem}
.btn.wide{padding:16px 24px;width:100%;text-align:center}

.hero-illustration{transition:transform .28s ease, box-shadow .28s ease}
.hero-illustration:hover{transform:scale(1.02) rotate(0deg)}

@media (max-width:820px){
  .hero-inner{flex-direction:column}
  .hero-visual{width:100%}
  .hero-text h1{font-size:2.8rem}
  .brand img{height:44px}
  .main-nav{display:none}
  .features h2{font-size:2.4rem}
  .contact-cta h2{font-size:2.2rem}
  .contact-layout{grid-template-columns:1fr;gap:32px}
  .grid-2col{grid-template-columns:1fr}
}

/* Accessibility focus */
 a:focus{outline:3px solid rgba(191,162,255,0.28);outline-offset:2px}

/* Contact page layout */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;padding:60px 0}
.contact-map{flex:1}
.contact-info{flex:1}
.contact-info h1{margin-top:0;font-size:3.2rem;font-weight:800;color:#1a1a2e}
.info-item{display:flex;gap:16px;margin-bottom:32px;align-items:flex-start}
.info-icon{font-size:2rem;margin-top:4px}
.info-item p{margin:0;color:#666}
.info-item strong{color:#1a1a2e;display:block;margin-bottom:4px}

/* Program card styles */
.grid-2col{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.program-card{background:#fff;border:1px solid rgba(191,162,255,0.15);padding:32px;border-radius:10px;transition:all .28s ease;text-align:center}
.program-card:hover{border-color:var(--accent);box-shadow:0 16px 40px rgba(191,162,255,0.12)}
.program-icon{font-size:3rem;margin-bottom:16px}
