*{box-sizing:border-box}
body{
  margin:0;
  font-family:Pretendard,Apple SD Gothic Neo,sans-serif;
  background:#0e0e12;
  color:#111
}

/* HERO */
.hero{position:relative;height:85vh;max-height:760px}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,10,14,.2),rgba(10,10,14,.85) 70%,#0e0e12)
}
.hero-content{
  position:absolute;bottom:48px;left:20px;right:20px;
  max-width:420px;margin:auto;color:#fff;text-align:center;z-index:2
}
.hero h1{font-size:32px;font-weight:800;margin:0 0 6px}
.role{font-size:15px;opacity:.9;margin-bottom:16px;}

/* STATS */
.stats{display:flex;gap:10px; margin-bottom:0px;}
.stat{flex:1;background:rgba(255,255,255,.12);border-radius:14px;padding:12px 8px}
.stat strong{display:block;font-size:18px}
.stat span{font-size:11px;opacity:.85}

/* CONTENT */
.content{
  max-width:420px;margin:-32px auto 0;
  background:#fff;border-radius:28px 28px 0 0;
  padding:28px 18px 32px;position:relative;z-index: 3;}
.section{margin-bottom:28px}
.section-title{font-size:17px;font-weight:700;margin-bottom:15px}

/* STORY */
.story{display:grid;gap:10px;}
.story-card{background:#f6f7f9;border-radius:18px;padding:16px 18px;
  font-family:Pretendard, Apple SD Gothic Neo, sans-serif; font-size:14px;
  line-height:1.55;color:#222;}
.story-card strong{display:block;font-size:13px;font-weight:700;
  margin-bottom:4px;line-height:1.2;}
.story-text{margin:0;font-size:14px;line-height:1.5;}



/* TOGGLE */
.toggle-card{cursor:pointer}
.toggle-header{display:flex;justify-content:space-between;font-weight:600}
.toggle-icon{transition:.25s}
.toggle-card.open .toggle-icon{transform:rotate(180deg)}
.career-full{display:none}
.toggle-card.open .career-full{display:block}

.career-list{list-style:none;padding:0;margin:8px 0 0;}
.career-list li{display:flex;gap:8px;align-items:flex-start;font-size:14px;
  line-height:1.55;color:#222;}
.career-label{min-width:48px;font-size:11px;font-weight:600;color:#666;background:#e9ebef;
  border-radius:6px;padding:2px 6px;text-align:center;margin-top:2px;}
.career-text{font-size:14px;line-height: 1.55;}



/* CLASS */
.class-card{
  border:1px solid #eee;border-radius:14px;
  padding:14px;display:flex;justify-content:space-between;margin-bottom:10px
}

/* SKETCH */
.sketch-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.sketch-grid img,.sketch-grid video{
  width:100%;height:110px;border-radius:12px;object-fit:cover
}
.sketch-grid video{grid-column:span 2;height:150px}

/* IMAGE VIEWER */
.image-viewer{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);
  align-items:center;justify-content:center;z-index:9999
}
.image-viewer img{max-width:92%;max-height:92%;border-radius:12px}

/* ================= CONTACT ================= */

.contact-section{
  max-width:420px;
  margin:0 auto;
  padding:0;
}

.contact-panel{
  display:none;
  width:100%;
  background:#fff;
  padding:22px 18px 24px;
  border-radius:0 0 20px 20px;
  box-sizing:border-box;
}

.contact-section.open .contact-panel{
  display:block;
  margin-top:-1px;
}

/* 제목 */
.contact-title{
  font-size:17px;
  font-weight:700;
  margin-bottom:6px;
  color:#111;
}

.contact-sub{
  font-size:13px;
  color:#888;
  font-weight:300;
  margin:0 0 14px;
}

/* 바로 전화하기 */
.call-btn{
  display:block;
  width:100%;
  margin-bottom:14px;
  padding:14px;
  text-align:center;
  border-radius:14px;
  background:#ffd84d;
  color:#111;
  font-weight:700;
  font-size:16px;
  text-decoration:none;
}

/* 폼 */
.contact-form{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.contact-form input,
.contact-form textarea{
  width:100%;
  padding:13px 14px;
  font-size:14px;
  border-radius:12px;
  border:1px solid #ddd;
  outline:none;
  font-family:inherit;
}

.contact-form input:focus,
.contact-form textarea:focus{
  border-color:#ff8a00;
}

/* SEND 버튼 */
.contact-submit{
  margin-top:6px;
  padding:14px;
  border-radius:14px;
  border:none;
  background:linear-gradient(135deg,#ff8a00,#ff5f2e);
  color:#fff;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
}

/* 성공 메시지 */
.success-msg{
  display:none;
  margin-top:12px;
  font-size:14px;
  color:#ff6a00;
  font-weight:600;
  text-align:center;
}

/* ================= CTA ================= */

.cta{
  max-width:420px;
  margin:0 auto;
  padding:18px;
  background:#0e0e12;
}

.cta-primary{
  width:100%;
  padding:15px;
  border-radius:14px;
  border:none;
  background:linear-gradient(135deg,#ff8a00,#ff5f2e);
  color:#fff;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  margin-bottom:10px;
}

.cta-highlight{
  background:#ffd84d;
  color:#3d3b3b;
  font-size:16px;
  box-shadow:0 6px 16px rgba(255,60,60,.35);
}

/* ================= TABLET (≥768px) ================= */
@media (min-width: 768px){
  .hero{
    height:68vh;
    max-height:780px;
    background-position:center 15% !important;
  }
  .hero-content{
    max-width:640px;
    bottom:64px;
  }
  .hero h1{font-size:44px;margin-bottom:8px}
  .role{font-size:18px;margin-bottom:24px}

  .stats{gap:16px;max-width:520px;margin:0 auto}
  .stat{padding:16px 12px;border-radius:18px}
  .stat strong{font-size:26px}
  .stat span{font-size:14px}

  .content{
    max-width:720px;
    padding:40px 36px 44px;
    border-radius:32px 32px 0 0;
    margin-top:-40px;
  }
  .section{margin-bottom:36px}
  .section-title{font-size:22px;margin-bottom:18px}

  .story{gap:14px}
  .story-card{
    padding:22px 24px;
    font-size:16px;
    border-radius:20px;
    line-height:1.6;
  }
  .story-card strong{font-size:15px;margin-bottom:6px}

  .toggle-header{font-size:16px}
  .career-preview{font-size:16px;line-height:1.6}
  .career-list li{font-size:16px;line-height:1.6;margin-bottom:8px}
  .career-label{font-size:13px;min-width:52px}
  .career-text{font-size:16px;line-height:1.6}

  .class-card{
    padding:18px 22px;
    font-size:16px;
    border-radius:16px;
  }
  .class-card strong{font-size:16px}

  .sketch-grid{gap:14px}
  .sketch-grid img,
  .sketch-grid video{height:200px;border-radius:16px}
  .sketch-grid video{height:280px}

  .contact-section{max-width:720px}
  .contact-panel{padding:32px 36px 36px}
  .contact-title{font-size:20px}
  .contact-sub{font-size:15px}
  .call-btn{font-size:18px;padding:16px}
  .contact-form input,
  .contact-form textarea{font-size:16px;padding:16px 18px}
  .contact-submit{font-size:18px;padding:16px}

  .cta{max-width:720px;padding:24px 28px}
  .cta-primary{font-size:17px;padding:17px;border-radius:16px}
  .cta-highlight{font-size:18px}
}
