@charset "utf-8";

:root {
    --ink: #1f2a37;
    --ink-soft: #5b6472;
    --teal: #2f8f82;
    --teal-dark: #23695f;
    --teal-wash: #eaf5f3;
    --cream: #fbfaf7;
    --white: #ffffff;
    --border: #e7e5df;
    --tag: #f2ede3;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  body { color:var(--ink); background:var(--white); }
  .wrap { max-width: 860px; margin:0 auto;}
  p {line-height: 1.3;}


/* 팝업 */
.pop_wrap{position:absolute;top:0;left:10px;width:auto;height:auto;background:transparent;display:flex;align-items:flex-start;justify-content:center;gap:10px;z-index:100;flex-wrap:wrap; padding: 0;}
.pop_wrap .pop01{width:550px;height:635px;background:#fff;flex:0 0 auto;}
.pop_wrap .sub_popup{width:490px;         /* 기존 wrap 폭과 동일하게 */background:#fff;flex:0 0 auto;}
.pop_wrap .pop01 img{width:100%;display:block;}
.pop_wrap .sub_footer{padding: 0;background:#000;color:#fff;text-align:left;position:relative;font-size:13px;}
.pop_wrap .sub_footer button {padding: 10px;border:0;color:#fff}
.pop_wrap .sub_footer .pop01_reject{background:#000;text-align:left}
.pop_wrap .sub_footer .pop01_close{background:#393939;position:absolute;top:0;right:0}


@media (max-width:768px){
.pop_wrap .pop01{width:95%;height:auto;background:#fff;flex:0 0 auto;margin: 0 auto;left:0;}
}


  /* 260804 상단 이미지 추가 */
  .s9_top_img {position: relative; z-index: 0;}

  /* HERO */
  .hero {position: relative; background:var(--teal-wash); background:linear-gradient(180deg,rgba(234, 245, 243, 0) 0%, rgba(234, 245, 243, 1) 12%, rgba(234, 245, 243, 1) 100%); padding:64px 24px 56px; text-align:center; margin-top: clamp(-350px, -35vw, -150px);  z-index: 2;}
  .hero .cat {display: inline-block; font-size:13px; font-weight:600; color: #fff; padding: 8px 18px; border-radius: 20px; margin-bottom:14px; background: var(--teal-dark);}
  .hero h1 { font-size:clamp(24px,4vw,32px); font-weight:700; line-height:1.5; margin-bottom:14px; }
  .hero h1 strong { color:var(--teal-dark); }
  .hero p { color:var(--ink-soft); font-size:15px; max-width:480px; margin:0 auto; }

  .feature-strip {
    display:flex; justify-content:center; flex-wrap:wrap; gap:10px;
    margin-top:28px;
  }
  .feature-strip span {
    background:var(--white); border:1px solid var(--border);
    padding:9px 16px; border-radius:20px; font-size:13px; color:var(--ink-soft);
  }
  .feature-strip span strong { color:var(--teal-dark); }

  .lineup-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .lineup-card {
    border:1px solid var(--border); border-radius:12px; padding:22px 20px;
    background:var(--white);
  }
  .lineup-card .num {
    display:inline-block; font-size:12px; font-weight:700; color:var(--teal-dark);
    background:var(--teal-wash); padding:3px 9px; border-radius:4px; margin-bottom:10px;
  }
  .lineup-card h3 { font-size:15px; font-weight:700; margin-bottom:6px; }
  .lineup-card p { font-size:13.5px; color:var(--ink-soft); }

  section { padding:56px 24px; }
  .section-label { font-size:13px; font-weight:700; color:var(--teal-dark); margin-bottom:8px; }
  h2 { font-size:22px; font-weight:700; line-height:1.5; margin-bottom:30px; }

  /* WORRY CARDS */
  .worry-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .worry-card {
    background:var(--cream); border:1px solid var(--border); border-radius:12px;
    padding:22px 20px;
  }
  .worry-card .q { font-size:14.5px; color:var(--ink); margin-bottom:10px; }
  .worry-card .a { font-size:14.5px; color:var(--teal-dark); font-weight:600; }

  /* REASON GRID */
  .reason-grid {
    display:grid; grid-template-columns:1fr 1fr; gap:1px;
    background:var(--border); border:1px solid var(--border); border-radius:12px; overflow:hidden;
  }
  .reason-cell { background:var(--white); padding:26px 22px; }
  .reason-cell .tag {
    display:inline-block; font-size:11.5px; font-weight:700; color:var(--teal-dark);
    background:var(--teal-wash); padding:4px 10px; border-radius:4px; margin-bottom:12px;
  }
  .reason-cell .title { font-size:15px; font-weight:600; margin-bottom:6px; }
  .reason-cell .desc { font-size:13.5px; color:var(--ink-soft); }

  /* PROCESS */
  .process-item { display:flex; gap:20px; padding:26px 0; border-bottom:1px solid var(--border); }
  .process-item:last-child { border-bottom:none; }
  .process-num {
    flex-shrink:0; width:38px; height:38px; border-radius:50%;
    background:var(--teal); color:var(--white); font-weight:700; font-size:15px;
    display:flex; align-items:center; justify-content:center;
  }
  .process-body h3 { font-size:16px; font-weight:700; margin-bottom:6px; }
  .process-body p { font-size:14px; color:var(--ink-soft); margin-bottom:12px; }
  .process-tags { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
  .process-tags span {
    font-size:12px; background:var(--tag); color:var(--ink-soft);
    padding:4px 10px; border-radius:4px;
  }
  .process-quote {
    font-size:13.5px; color:var(--teal-dark); border-left:3px solid var(--teal);
    padding-left:12px; font-style:normal;
  }

  /* TIMING CALLOUT */
  .timing-box {
    background:var(--ink); color:var(--white); border-radius:12px;
    padding:32px 28px; margin-top:8px;
  }
  .timing-box .ages { display:flex; gap:28px; margin:18px 0; flex-wrap:wrap; }
  .timing-box .age b { display:block; font-size:24px; color:#8fd4c7; }
  .timing-box .age span { font-size:13px; color:#c7ccd4; }
  .timing-box p { font-size:14px; color:#dfe2e8; }

  /* DOCTOR */
  .doctor-card {
    display:flex; align-items:center; gap:18px;
    border:1px solid var(--border); border-radius:12px; padding:22px;
  }
  .doctor-avatar {
    width:52px; height:52px; border-radius:50%; background:var(--teal-wash);
    color:var(--teal-dark); font-weight:700; font-size:18px;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .doctor-card h3 { font-size:15.5px; margin-bottom:4px; }
  .doctor-card p { font-size:13px; color:var(--ink-soft); }

  /* FAQ */
  .faq-block { border-top:1px solid var(--border); }
  .faq-row { padding:22px 0; border-bottom:1px solid var(--border); }
  .faq-row .q { font-size:15px; font-weight:600; margin-bottom:8px; }
  .faq-row .q::before { content:"Q. "; color:var(--teal-dark); }
  .faq-row .a { font-size:14px; color:var(--ink-soft); }

  .disclaimer { font-size:12px; color:#9aa1ab; margin-top:20px; }

  /* CTA */
  .cta { background:var(--teal-wash); text-align:center; padding:52px 24px; border-radius:16px; margin:0 24px 40px; }
  .cta h2 { margin-bottom:8px; }
  .cta p { color:var(--ink-soft); font-size:14px; margin-bottom:22px; }
  .btn {
    display:inline-block; background:var(--teal); color:var(--white);
    padding:14px 30px; border-radius:8px; text-decoration:none; font-size:14.5px; font-weight:600;
  }

  /* ===== 260803 친근한 공간 css 추가 ===== */
  .s9_space { padding:54px 24px 50px; background:#fff; }
  .s9_space_tit { margin:0 0 12px; font-size:26px; font-weight:800; line-height:1.35; letter-spacing:-1px; color:#222; }
  .s9_space_desc { margin:0 0 28px; font-size:15px; line-height:1.7; color:var(--teal-dark);}
  .s9_space_photos { display:grid; justify-items: center; grid-template-rows: repeat(2); grid-template-columns: repeat(2, 1fr); gap:18px; }
  .s9_space_photos figure { margin:0; border-radius:16px; overflow:hidden; background:#eef0ea; }
  .s9_space_photos figure:nth-child(1),
  .s9_space_photos .kids_desc,
  .s9_space_photos figure:nth-child(5) {grid-column: span 2;}
  .s9_space_photos .kids_desc {position: relative; width: 100%; text-align: center; border-radius: 16px; padding: 30px 20px; background: url(../img/sub/s8/dental_icon.png) no-repeat right bottom -15% var(--teal-wash);}
  .s9_space_photos .kids_desc p {font-size: clamp(16px, 2vw, 20px); font-weight: 600;  color:var(--teal-dark);}
  .s9_space_photos img { width:100%; height:auto; }


  /* ===== 260803 학력 css 추가 ===== */
  .s9_edu { padding:60px 24px 56px; background:#fff; }
  .s9_edu_logos { display:flex; align-items:center; gap:18px; margin-bottom:26px; }
  .s9_edu_logos img { height:56px; width:auto; }
  .s9_edu_tit { margin:0 0 22px; font-size:27px; font-weight:800; line-height:1.35; letter-spacing:-1px; color:var(--ink); }
  .s9_edu_desc { margin:0 0 34px; font-size:15px; line-height:1.7; color:var(--teal-dark); font-weight:500; }

  .s9_edu_cards { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:14px; }
  .s9_edu_card { padding:30px 28px; border-radius:22px; background:var(--teal); text-align:center; color:#fff; }
  .s9_edu_card--dark { background:var(--ink); }
  .s9_edu_card b { display:block; margin-bottom:10px; font-size:30px; font-weight:800; letter-spacing:-0.5px; }
  .s9_edu_card span { font-size:15px; font-weight:500; line-height:1.5; opacity:.92; }


  /* ===== 260803 의료진 css 추가 ===== */
  .s9_doctor { padding:0 24px 56px; background:#fff; }
  .s9_doc_visual { border-radius:18px; overflow:hidden; background:#dfe4d6; margin-bottom:26px; }
  .s9_doc_visual img { width:100%; height:auto; }
  .s9_doc_name { margin:0 0 14px; font-size:22px; font-weight:500; color:#444; }
  .s9_doc_name b { font-weight:800; color:var(--ink); }
  .s9_doc_tag { display:inline-block; margin-bottom:24px; padding:8px 18px; border-radius:20px;
    background:var(--teal); color:#fff; font-size:14px; font-weight:600; }
  .s9_doc_careers { margin:0 0 36px; padding:0; list-style:none; }
  .s9_doc_careers li { position:relative; padding-left:14px; margin-bottom:10px; font-size:16px; color:#444; line-height:1.5; }
  .s9_doc_careers li::before { content:"-"; position:absolute; left:0; color:#8b9e70; }

  /* 아이콘 카드 박스 (베이지) */
  .s9_doc_icards { padding:30px 24px; border-radius:20px; background:var(--tag); }
  .s9_doc_icard { display:flex; align-items:flex-start; gap:16px; padding:16px 0; }
  .s9_doc_icard + .s9_doc_icard { border-top:1px solid #fff; }
  .s9_doc_icard > i { flex:0 0 44px; display:flex; align-items:center; justify-content:center;
    width:44px; height:44px; border-radius:50%; background:var(--teal-wash); color:var(--teal); font-size:19px; }
  .s9_doc_icard_txt b { display:block; margin-bottom:4px; font-size:17px; font-weight:800; color:var(--ink); }
  .s9_doc_icard_txt span { font-size:14px; color:#777; line-height:1.5; }

  .s9_doc_highlight { margin-top:18px; padding:24px 22px; border-radius:16px; background:#fff; }
  .s9_doc_highlight_q { display:flex; align-items:center; gap:10px; margin:0 0 10px; font-size:17px; font-weight:800; color:var(--ink); }
  .s9_doc_highlight_q i { color:var(--teal); }
  .s9_doc_highlight_a { margin:0; font-size:14px; line-height:1.7; color:var(--teal); }


  @media (max-width:640px) {
    .worry-grid, .reason-grid { grid-template-columns:1fr; }
  }