

/*** 자연치아살리기 ***/
.grand_natural_page{ 
  width:100%; 
  overflow:hidden; 
  background:#fff; 
  color:#111; 
  font-family:'Pretendard', sans-serif; 
  letter-spacing:-.05em; 
} 
 
.natural_inner{ 
  max-width:1300px; 
  margin:0 auto; 
  padding:0 40px; 
} 
 
/* 상단 비주얼 */ 
.natural_visual{ 
  position:relative; 
  width:100%; 
  height:600px; 
  overflow:hidden; 
  background:#111; 
} 
 
.natural_visual_img{ 
  position:absolute; 
  inset:0; 
} 
 
.natural_visual_img:after{ 
  content:''; 
  position:absolute; 
  inset:0; 
  background:linear-gradient(90deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.25) 48%, rgba(0,0,0,.05) 100%); 
} 
 
.natural_visual_img img{ 
  width:100%; 
  height:100%; 
  object-fit:cover; 
} 
 
.natural_visual_txt{ 
  position:relative; 
  z-index:2; 
  max-width:1300px; 
  height:100%; 
  margin:0 auto; 
  padding:0 40px; 
  display:flex; 
  flex-direction:column; 
  justify-content:center; 
  color:#fff; 
} 
 
.natural_visual_txt p{ 
  margin:0 0 28px; 
  font-size:15px; 
  font-weight:900; 
  color:#f36f21; 
  letter-spacing:.06em; 
} 
 
.natural_visual_txt h2{ 
  margin:0 0 34px; 
  font-size:60px; 
  line-height:1.1; 
  font-weight:700; 
  letter-spacing:-.08em; 
} 
 
.natural_visual_txt strong{ 
  display:block; 
  font-size:34px; 
  line-height:1.45; 
  font-weight:800; 
} 
 
.natural_visual_txt span{ 
  display:block; 
  margin-top:36px; 
  font-size:18px; 
  line-height:1.8; 
  font-weight:500; 
  color:rgba(255,255,255,.86); 
} 
 
/* 공통 치료 섹션 */ 
.natural_treat{ 
  padding:100px 0; 
} 
 
.natural_treat_02, 
.natural_treat_04{ 
  background:#f7f2ee; 
} 
 
.natural_grid{ 
  display:grid; 
  grid-template-columns:1fr 1.12fr; 
  gap:80px; 
  align-items:center; 
} 
 
.natural_grid.reverse{ 
  grid-template-columns:1.12fr 1fr; 
} 
 
.natural_grid.reverse .natural_text{ 
  order:2; 
} 
 
.natural_grid.reverse .natural_img{ 
  order:1; 
} 
 
.natural_text em{ 
  display:block; 
  margin-bottom:18px; 
  font-size:60px; 
  line-height:1; 
  font-style:normal; 
  font-weight:900; 
  color:#f36f21; 
} 
 
.natural_text > p{ 
  margin:0 0 24px; 
  font-size:15px; 
  font-weight:900; 
  color:#f36f21; 
  letter-spacing:.08em; 
} 
 
.natural_text h3{ 
  margin:0; 
  font-size:50px; 
  line-height:1.22; 
  font-weight:900; 
  color:#111; 
  letter-spacing:-.08em; 
} 
 
.natural_text strong{ 
  display:block; 
  margin-top:22px; 
  font-size:26px; 
  line-height:1.45; 
  font-weight:800; 
  color:#111; 
} 
 
.natural_text span{ 
  display:block; 
  margin-top:32px; 
  font-size:18px; 
  line-height:1.8; 
  font-weight:500; 
  color:#333; 
} 
 
.natural_text ul{ 
  display:grid; 
  grid-template-columns:1fr; 
  gap:14px; 
  margin:42px 0 0; 
  padding:0; 
  list-style:none; 
} 
 
.natural_text li{ 
  position:relative; 
  padding-left:34px; 
  font-size:18px; 
  line-height:1.5; 
  font-weight:800; 
  color:#111; 
} 
 
.natural_text li:before{ 
  content:'✔'; 
  position:absolute; 
  left:0; 
  top:0; 
  color:#f36f21; 
  font-weight:900; 
} 
 
.natural_img{ 
  height:560px; 
  overflow:hidden; 
  background:#eee; 
} 
 
.natural_img img{ 
  width:100%; 
  height:100%; 
  object-fit:cover; 
  transition:transform .7s ease; 
} 
 
.natural_img:hover img{ 
  transform:scale(1.05); 
} 
 
/* 전후 사진 */ 
.natural_before_after{ 
  display:grid; 
  grid-template-columns:1fr 1fr; 
  gap:24px; 
  margin-top:80px; 
} 
 
.natural_before_after div, 
.natural_wide_process div{ 
  position:relative; 
  overflow:hidden; 
  background:#eee; 
} 
 
.natural_before_after img{ 
  width:100%; 
  height:430px; 
  object-fit:cover; 
} 
 
.natural_before_after p, 
.natural_wide_process p{ 
  position:absolute; 
  left:28px; 
  bottom:24px; 
  z-index:2; 
  margin:0; 
  padding:11px 20px; 
  background:#f36f21; 
  color:#fff; 
  font-size:18px; 
  font-weight:900; 
  letter-spacing:-.05em; 
} 
 
/* 인레이 과정 */ 
.natural_wide_process{ 
  display:grid; 
  grid-template-columns:1fr 1fr; 
  gap:24px; 
  margin-top:80px; 
} 
 
.natural_wide_process img{ 
  width:100%; 
  height:430px; 
  object-fit:cover; 
} 
 
/* 풀 이미지 - 신경치료 예시 / 치주질환 예시 */ 
.natural_full_img{ 
  position:relative;
  max-width:920px; 
  width:100%; 
  height:auto; 
  margin:80px auto 0; 
  overflow:hidden; 
  background:#fff; 
  border:1px solid #eee; 
  box-shadow:0 18px 45px rgba(0,0,0,.06); 
} 
 
.natural_full_img img{ 
  display:block; 
  width:100%; 
  height:auto; 
  object-fit:contain; 
} 
 
.natural_full_img p{ 
  position:static; 
  display:block; 
  margin:0; 
  padding:18px 24px; 
  background:#f36f21; 
  color:#fff; 
  font-size:18px; 
  font-weight:900; 
  letter-spacing:-.05em; 
  text-align:center; 
} 
 
/* 하단 카피 */ 
.natural_ending{ 
  position:relative; 
  width:100%; 
  height:600px; 
  overflow:hidden; 
  background:#111; 
} 
 
.natural_ending_bg{ 
  position:absolute; 
  inset:0; 
} 
 
.natural_ending_bg:after{ 
  content:''; 
  position:absolute; 
  inset:0; 
  background:linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.48) 45%, rgba(0,0,0,.12) 100%); 
} 
 
.natural_ending_bg img{ 
  width:100%; 
  height:100%; 
  object-fit:cover; 
} 
 
.natural_ending_txt{ 
  position:relative; 
  z-index:2; 
  max-width:1440px; 
  height:100%; 
  margin:0 auto; 
  padding:0 40px; 
  display:flex; 
  flex-direction:column; 
  justify-content:center; 
  color:#fff; 
} 
 
.natural_ending_txt p{ 
  margin:0 0 28px; 
  font-size:15px; 
  font-weight:900; 
  color:#f36f21; 
  letter-spacing:.08em; 
} 
 
.natural_ending_txt h3{ 
  margin:0; 
  font-size:50px; 
  line-height:1.28; 
  font-weight:700; 
  letter-spacing:-.08em; 
} 
 
.natural_ending_txt span{ 
  display:block; 
  margin-top:36px; 
  font-size:18px; 
  line-height:1.8; 
  font-weight:500; 
  color:rgba(255,255,255,.88); 
} 
 
/* 1024 */ 
@media(max-width:1024px){ 
  .natural_inner{ 
    padding:0 30px; 
  } 
 
  .natural_visual{ 
    height:620px; 
  } 
 
  .natural_visual_txt{ 
    padding:0 30px; 
  } 
 
  .natural_visual_txt h2{ 
    font-size:60px; 
  } 
 
  .natural_visual_txt strong{ 
    font-size:26px; 
  } 
 
  .natural_visual_txt span{ 
    font-size:18px; 
  } 
 
  .natural_treat{ 
    padding:110px 0; 
  } 
 
  .natural_grid, 
  .natural_grid.reverse{ 
    grid-template-columns:1fr; 
    gap:55px; 
  } 
 
  .natural_grid.reverse .natural_text, 
  .natural_grid.reverse .natural_img{ 
    order:initial; 
  } 
 
  .natural_text em{ 
    font-size:50px; 
  } 
 
  .natural_text h3{ 
    font-size:42px; 
  } 
 
  .natural_text strong{ 
    font-size:26px; 
  } 
 
  .natural_text span, 
  .natural_text li{ 
    font-size:18px; 
  } 
 
  .natural_img{ 
    height:500px; 
  } 
 
  .natural_before_after, 
  .natural_wide_process{ 
    margin-top:60px; 
    gap:18px; 
  } 
 
  .natural_before_after img, 
  .natural_wide_process img{ 
    height:360px; 
  } 
 
  .natural_full_img{ 
    max-width:860px; 
    margin-top:60px; 
    height:auto; 
  } 
 
  .natural_full_img img{ 
    height:auto; 
    object-fit:contain; 
  } 
 
  .natural_ending{ 
    height:580px; 
  } 
 
  .natural_ending_txt{ 
    padding:0 30px; 
  } 
 
  .natural_ending_txt h3{ 
    font-size:42px; 
  } 
 
  .natural_ending_txt span{ 
    font-size:18px; 
  } 
} 
 
/* 768 */ 
@media(max-width:768px){ 
  .natural_inner{ 
    padding:0 20px; 
  } 
 
  .natural_visual{ 
    height:540px; 
  } 
 
  .natural_visual_txt{ 
    padding:0 20px; 
  } 
 
  .natural_visual_txt p{ 
    margin-bottom:18px; 
    font-size:13px; 
  } 
 
  .natural_visual_txt h2{ 
    margin-bottom:24px; 
    font-size:40px; 
  } 
 
  .natural_visual_txt strong{ 
    font-size:22px; 
  } 
 
  .natural_visual_txt span{ 
    margin-top:24px; 
    font-size:15px; 
    line-height:1.7; 
  } 
 
  .natural_visual_txt span br{ 
    display:none; 
  } 
 
  .natural_treat{ 
    padding:80px 0; 
  } 
 
  .natural_grid, 
  .natural_grid.reverse{ 
    gap:38px; 
  } 
 
  .natural_text em{ 
    margin-bottom:12px; 
    font-size:42px; 
  } 
 
  .natural_text > p{ 
    margin-bottom:16px; 
    font-size:12px; 
  } 
 
  .natural_text h3{ 
    font-size:34px; 
  } 
 
  .natural_text strong{ 
    margin-top:16px; 
    font-size:18px; 
  } 
 
  .natural_text span{ 
    margin-top:22px; 
    font-size:15px; 
    line-height:1.7; 
  } 
 
  .natural_text span br{ 
    display:none; 
  } 
 
  .natural_text ul{ 
    gap:10px; 
    margin-top:28px; 
  } 
 
  .natural_text li{ 
    padding-left:28px; 
    font-size:15px; 
  } 
 
  .natural_img{ 
    height:320px; 
  } 
 
  .natural_before_after, 
  .natural_wide_process{ 
    grid-template-columns:1fr; 
    gap:14px; 
    margin-top:38px; 
  } 
 
  .natural_before_after img, 
  .natural_wide_process img{ 
    height:260px; 
  } 
 
  .natural_before_after p, 
  .natural_wide_process p{ 
    left:18px; 
    bottom:18px; 
    padding:9px 15px; 
    font-size:14px; 
  } 
 
  .natural_full_img{ 
    max-width:100%; 
    margin-top:38px; 
    height:auto; 
  } 
 
  .natural_full_img img{ 
    height:auto; 
    object-fit:contain; 
  } 
 
  .natural_full_img p{ 
    position:static; 
    padding:13px 16px; 
    font-size:14px; 
  } 
 
  .natural_ending{ 
    height:500px; 
  } 
 
  .natural_ending_txt{ 
    padding:0 20px; 
  } 
 
  .natural_ending_txt p{ 
    margin-bottom:18px; 
    font-size:13px; 
  } 
 
  .natural_ending_txt h3{ 
    font-size:34px; 
    line-height:1.35; 
  } 
 
  .natural_ending_txt span{ 
    margin-top:24px; 
    font-size:15px; 
    line-height:1.7; 
  } 
 
  .natural_ending_txt span br{ 
    display:none; 
  } 
}



/*** 임플란트 ***/
.grand_implant_page{
  width:100%;
  overflow:hidden;
  background:#fff;
  color:#111;
  font-family:'Pretendard', sans-serif;
  letter-spacing:-.05em;
}

.implant_inner{
  max-width:1300px;
  margin:0 auto;
  padding:0 40px;
}

/* 상단 비주얼 */
.implant_visual{
  position:relative;
  width:100%;
  height:600px;
  overflow:hidden;
  background:#111;
}

.implant_visual_img{
  position:absolute;
  inset:0;
}

.implant_visual_img:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.28) 48%, rgba(0,0,0,.06) 100%);
}

.implant_visual_img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.implant_visual_txt{
  position:relative;
  z-index:2;
  max-width:1300px;
  height:100%;
  margin:0 auto;
  padding:0 40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#fff;
}

.implant_visual_txt p{
  margin:0 0 28px;
  font-size:15px;
  font-weight:900;
  color:#f36f21;
  letter-spacing:.06em;
}

.implant_visual_txt h2{
  margin:0 0 34px;
  font-size:60px;
  line-height:1.1;
  font-weight:700;
  letter-spacing:-.08em;
}

.implant_visual_txt strong{
  display:block;
  font-size:34px;
  line-height:1.45;
  font-weight:800;
}

.implant_visual_txt span{
  display:block;
  margin-top:36px;
  font-size:18px;
  line-height:1.8;
  font-weight:500;
  color:rgba(255,255,255,.86);
}

/* 공통 타이틀 */
.implant_sec_title{
  margin-bottom:70px;
}

.implant_sec_title.center{
  text-align:center;
}

.implant_sec_title p{
  margin:0 0 20px;
  font-size:15px;
  font-weight:900;
  color:#f36f21;
  letter-spacing:.08em;
}

.implant_sec_title h3{
  margin:0;
  font-size:50px;
  line-height:1.22;
  font-weight:900;
  letter-spacing:-.08em;
  color:#111;
}

.implant_sec_title strong{
  display:block;
  margin-top:22px;
  font-size:26px;
  line-height:1.5;
  font-weight:800;
  color:#111;
}

.implant_sec_title span{
  display:block;
  margin-top:26px;
  font-size:18px;
  line-height:1.8;
  font-weight:500;
  color:#333;
}

/* 공통 치료 섹션 */
.implant_treat{
  padding:100px 0;
}

.implant_treat_02,
.implant_lab_sec{
  background:#f7f2ee;
}

.implant_grid{
  display:grid;
  grid-template-columns:1fr 1.12fr;
  gap:80px;
  align-items:center;
}

.implant_grid.reverse{
  grid-template-columns:1.12fr 1fr;
}

.implant_grid.reverse .implant_text{
  order:2;
}

.implant_grid.reverse .implant_img{
  order:1;
}

.implant_text em{
  display:block;
  margin-bottom:18px;
  font-size:60px;
  line-height:1;
  font-style:normal;
  font-weight:900;
  color:#f36f21;
}

.implant_text > p{
  margin:0 0 24px;
  font-size:15px;
  font-weight:900;
  color:#f36f21;
  letter-spacing:.08em;
}

.implant_text h3{
margin: 0 0 35px;
    color: #15252f;
    font-size: 50px;
    line-height: 1.34;
    font-weight: 500;
    letter-spacing: -0.055em;

}
.implant_text h3 strong{color:#f36f21;  font-size:50px;line-height:65px;}
.implant_text strong{
 position: relative;
    margin: 0 0 28px;
    padding-top: 25px !IMPORTANT;
    color: #263943;
    font-size: 26px;
    line-height: 1.65;
    font-weight: 500;
    letter-spacing: -0.035em;
}



.implant_text strong::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 42px;
    height: 2px;
    background: #f36a21;
}

.implant_text span{
color: #687780;
    font-size: 18px;
    line-height: 1.95;
    font-weight: 400;
    letter-spacing: -0.02em;
}

.implant_text ul{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin:42px 0 0;
  padding:0;
  list-style:none;
}

.implant_text li{
  position:relative;
  padding-left:34px;
  font-size:18px;
  line-height:1.5;
  font-weight:800;
  color:#111;
}

.implant_text li:before{
  content:'✔';
  position:absolute;
  left:0;
  top:0;
  color:#f36f21;
  font-weight:900;
}

.implant_img{
  height:560px;
  overflow:hidden;
  background:#eee;
}

.implant_img img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .7s ease;
}

.implant_img:hover img{
  transform:scale(1.05);
}

/* 설명형 풀 이미지 */
.implant_full_img{
  position:relative;
  max-width:920px;
  width:100%;
  margin:80px auto 0;
  overflow:hidden;
  background:#fff;
  border:1px solid #eee;
  box-shadow:0 18px 45px rgba(0,0,0,.06);
}

.implant_full_img img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

.implant_full_img p{
  margin:0;
  padding:18px 24px;
  background:#f36f21;
  color:#fff;
  font-size:18px;
  font-weight:900;
  letter-spacing:-.05em;
  text-align:center;
}

/* 임플란트 과정 */
.implant_process_sec{
  padding:70px 0 100px;
  background:#fff;
}

.implant_process_wrap{
  width:100%;
}

.implant_process_row{
  display:grid;
  gap:34px;
  align-items:stretch;
}

.implant_process_row.top{
  grid-template-columns:repeat(3, 1fr);
}

.implant_process_row.bottom{
  grid-template-columns:repeat(2, 1fr);
  max-width:860px;
  margin:44px auto 0;
}

.implant_process_item{
  position:relative;
  background:#fff;
  border:1px solid #eee;
  box-shadow:0 14px 35px rgba(0,0,0,.05);

  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.implant_process_item:hover{
  transform:translateY(-8px);
  border-color:rgba(243,111,33,.45);
  box-shadow:0 20px 45px rgba(0,0,0,.08);
}

/* 화살표 */
.implant_process_row.top .implant_process_item:not(:last-child):after,
.implant_process_row.bottom .implant_process_item:not(:last-child):after{
  content:'→';
  position:absolute;
  top:50%;
  right:-27px;
  z-index:5;
  width:34px;
  height:34px;
  margin-top:-17px;
  border-radius:50%;
  background:#f36f21;
  color:#fff;
  font-size:18px;
  font-weight:800;
  line-height:34px;
  text-align:center;
  box-shadow:0 8px 20px rgba(243,111,33,.28);
}

.implant_process_img{
  width:100%;
  height:280px;
  padding:24px;
  background:#f8f8f8;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.implant_process_img img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.implant_process_txt{
  min-height:165px;
  padding:30px 28px 34px;
  background:#fff;
}

.implant_process_txt em{
  display:block;
  margin-bottom:14px;
  font-style:normal;
  font-size:14px;
  font-weight:900;
  color:#f36f21;
  letter-spacing:.05em;
}

.implant_process_txt h4{
  margin:0;
  font-size:26px;
  line-height:1.3;
  font-weight:900;
  color:#111;
  letter-spacing:-.06em;
}

.implant_process_txt p{
  margin:15px 0 0;
  font-size:15px;
  line-height:1.65;
  font-weight:600;
  color:#333;
}

/* 실제 진료 사례 */
.implant_case_sec{
  padding:100px 0;
  background:#f7f2ee;
}

.implant_case_grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
}

.implant_case_item{
  background:#fff;
  padding:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.04);
}

.implant_case_imgs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.implant_case_imgs > div{
  position:relative;
  overflow:hidden;
  background:#eee;
}

.implant_case_imgs img{
  width:100%;
  height:250px;
  object-fit:cover;
}

.implant_case_imgs p{
  position:absolute;
  left:14px;
  bottom:14px;
  margin:0;
  padding:8px 14px;
  background:#f36f21;
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.05em;
}

/* 자체기공소 */
.implant_lab_sec{
  padding:150px 0;
}

/* 하단 카피 */
.implant_ending{
  position:relative;
  width:100%;
  height:600px;
  overflow:hidden;
  background:#111;
}

.implant_ending_bg{
  position:absolute;
  inset:0;
}

.implant_ending_bg:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.48) 45%, rgba(0,0,0,.12) 100%);
}

.implant_ending_bg img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.implant_ending_txt{
  position:relative;
  z-index:2;
  max-width:1300px;
  height:100%;
  margin:0 auto;
  padding:0 40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#fff;
}

.implant_ending_txt p{
  margin:0 0 28px;
  font-size:15px;
  font-weight:900;
  color:#f36f21;
  letter-spacing:.08em;
}

.implant_ending_txt h3{
  margin:0;
  font-size:50px;
  line-height:1.28;
  font-weight:700;
  letter-spacing:-.08em;
}

.implant_ending_txt span{
  display:block;
  margin-top:36px;
  font-size:18px;
  line-height:1.8;
  font-weight:500;
  color:rgba(255,255,255,.88);
}

/* 1024 */
@media(max-width:1024px){
  .implant_inner{
    padding:0 30px;
  }

  .implant_visual{
    height:620px;
  }

  .implant_visual_txt{
    padding:0 30px;
  }

  .implant_visual_txt h2{
    font-size:60px;
  }

  .implant_visual_txt strong{
    font-size:26px;
  }

  .implant_visual_txt span{
    font-size:18px;
  }

  .implant_treat,
  .implant_process_sec,
  .implant_case_sec,
  .implant_lab_sec{
    padding:110px 0;
  }

  .implant_grid,
  .implant_grid.reverse{
    grid-template-columns:1fr;
    gap:55px;
  }

  .implant_grid.reverse .implant_text,
  .implant_grid.reverse .implant_img{
    order:initial;
  }

  .implant_text em{
    font-size:50px;
  }

  .implant_text h3,
  .implant_sec_title h3{
    font-size:42px;
  }

  .implant_text strong,
  .implant_sec_title strong{
    font-size:26px;
  }

  .implant_text span,
  .implant_text li,
  .implant_sec_title span{
    font-size:18px;
  }

  .implant_img{
    height:500px;
  }

  .implant_full_img{
    max-width:860px;
    margin-top:60px;
  }

  .implant_process_row{
    gap:22px;
  }

  .implant_process_row.top,
  .implant_process_row.bottom{
    grid-template-columns:repeat(2, 1fr);
    max-width:none;
    margin:0;
  }

  .implant_process_row.bottom{
    margin-top:22px;
  }

  .implant_process_row.bottom .implant_process_item:last-child{
    grid-column:1 / 3;
    max-width:50%;
    width:100%;
    margin:0 auto;
  }

  .implant_process_row.top .implant_process_item:after,
  .implant_process_row.bottom .implant_process_item:after{
    display:none;
  }

  .implant_process_img{
    height:260px;
    padding:22px;
  }

  .implant_process_txt{
    min-height:150px;
  }

  .implant_case_grid{
    gap:18px;
  }

  .implant_case_imgs img{
    height:220px;
  }

  .implant_ending{
    height:580px;
  }

  .implant_ending_txt{
    padding:0 30px;
  }

  .implant_ending_txt h3{
    font-size:42px;
  }

  .implant_ending_txt span{
    font-size:18px;
  }
}

/* 768 */
@media(max-width:768px){
  .implant_inner{
    padding:0 20px;
  }

  .implant_visual{
    height:540px;
  }

  .implant_visual_txt{
    padding:0 20px;
  }

  .implant_visual_txt p{
    margin-bottom:18px;
    font-size:13px;
  }

  .implant_visual_txt h2{
    margin-bottom:24px;
    font-size:40px;
  }

  .implant_visual_txt strong{
    font-size:22px;
  }

  .implant_visual_txt span{
    margin-top:24px;
    font-size:15px;
    line-height:1.7;
  }

  .implant_visual_txt span br{
    display:none;
  }

  .implant_treat,
  .implant_process_sec,
  .implant_case_sec,
  .implant_lab_sec{
    padding:80px 0;
  }

  .implant_grid,
  .implant_grid.reverse{
    gap:38px;
  }

  .implant_sec_title{
    margin-bottom:40px;
  }

  .implant_sec_title p{
    margin-bottom:16px;
    font-size:12px;
  }

  .implant_sec_title h3{
    font-size:34px;
  }

  .implant_sec_title strong{
    margin-top:16px;
    font-size:18px;
  }

  .implant_sec_title span{
    margin-top:18px;
    font-size:15px;
    line-height:1.7;
  }

  .implant_sec_title span br{
    display:none;
  }

  .implant_text em{
    margin-bottom:12px;
    font-size:42px;
  }

  .implant_text > p{
    margin-bottom:16px;
    font-size:12px;
  }

  .implant_text h3{
    font-size:34px;
  }

  .implant_text strong{
    margin-top:16px;
    font-size:18px;
  }

  .implant_text span{
    margin-top:22px;
    font-size:15px;
    line-height:1.7;
  }

  .implant_text span br{
    display:none;
  }

  .implant_text ul{
    gap:10px;
    margin-top:28px;
  }

  .implant_text li{
    padding-left:28px;
    font-size:15px;
  }

  .implant_img{
    height:320px;
  }

  .implant_full_img{
    max-width:100%;
    margin-top:38px;
  }

  .implant_full_img p{
    padding:13px 16px;
    font-size:14px;
  }

  .implant_process_row.top,
  .implant_process_row.bottom{
    grid-template-columns:1fr;
    gap:14px;
  }

  .implant_process_row.bottom{
    margin-top:14px;
  }

  .implant_process_row.bottom .implant_process_item:last-child{
    grid-column:auto;
    max-width:100%;
    margin:0;
  }

  .implant_process_img{
    height:auto;
    min-height:220px;
    padding:18px;
  }

  .implant_process_img img{
    width:100%;
    height:auto;
    max-height:260px;
    object-fit:contain;
  }

  .implant_process_txt{
    min-height:auto;
    padding:22px 20px;
  }

  .implant_process_txt em{
    font-size:12px;
  }

  .implant_process_txt h4{
    font-size:22px;
  }

  .implant_process_txt p{
    font-size:14px;
  }

  .implant_case_grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .implant_case_item{
    padding:14px;
  }

  .implant_case_imgs{
    gap:10px;
  }

  .implant_case_imgs img{
    height:170px;
  }

  .implant_case_imgs p{
    left:10px;
    bottom:10px;
    padding:7px 10px;
    font-size:11px;
  }

  .implant_ending{
    height:500px;
  }

  .implant_ending_txt{
    padding:0 20px;
  }

  .implant_ending_txt p{
    margin-bottom:18px;
    font-size:13px;
  }

  .implant_ending_txt h3{
    font-size:34px;
    line-height:1.35;
  }

  .implant_ending_txt span{
    margin-top:24px;
    font-size:15px;
    line-height:1.7;
  }

  .implant_ending_txt span br{
    display:none;
  }
}



/* =========================================================
   GRAND DENTAL
   자체 기공소 운영
========================================================= */

.gd-lab-page {
    width: 100%;
    overflow: hidden;
    font-family:
        "Pretendard",
        "Noto Sans KR",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    color: #17242d;
    word-break: keep-all;
}

.gd-lab-page * {
    box-sizing: border-box;
}

.gd-lab-page img {
    display: block;
    width: 100%;
    max-width: 100%;
}

.gd-lab-inner {
    width: calc(100% - 150px);
    max-width: 1280px;
    margin: 0 auto;
}


/* =========================================================
   VISUAL
========================================================= */

.gd-lab-visual {
    position: relative;
    width: 100%;
    height: 550px;
    overflow: hidden;
    background: #182b37;
}

.gd-lab-visual-bg {
    position: absolute;
    inset: 0;

    background-image:
        url("/theme/grand/img/lab_visual.jpg");

    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;

    transform: scale(1.01);
}

.gd-lab-visual-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(20, 34, 43, 0.80) 0%,
            rgba(20, 34, 43, 0.66) 28%,
            rgba(20, 34, 43, 0.28) 55%,
            rgba(20, 34, 43, 0.03) 80%
        );
}

.gd-lab-visual-inner {
    position: relative;
    z-index: 2;

    height: 100%;

    display: flex;
    align-items: center;
}

.gd-lab-visual-copy {
    width: 54%;
    color: #fff;
}

.gd-lab-visual-eng {
    display: block;

    margin-bottom: 23px;

    color: #f36a21;

    font-size:15px;
    font-weight: 700;

    letter-spacing: 0.12em;
}

.gd-lab-visual-copy h1 {
    margin: 0 0 32px;

    color: #fff;

    font-size:60px;
    line-height: 1.18;
    font-weight: 700;

    letter-spacing: -0.045em;
}

.gd-lab-visual-copy h2 {
    margin: 0 0 32px;

    color: #fff;

    font-size:34px;
    line-height: 1.5;
    font-weight: 400;

    letter-spacing: -0.035em;
}

.gd-lab-visual-copy h2 strong {
    color: #fff;
    font-weight: 700;
}

.gd-lab-visual-copy p {
    margin: 0;

    color: rgba(255, 255, 255, 0.84);

    font-size:18px;
    line-height: 1.9;
    font-weight: 400;
}


/* =========================================================
   SECTION
========================================================= */

.gd-lab-section {
    position: relative;

    padding: 130px 0;

    background: #fff;
}

.gd-lab-section-gray {
    background: #f7f8f8;
}

.gd-lab-row {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    align-items: center;

    gap: 90px;
}


/* =========================================================
   TEXT
========================================================= */

.gd-lab-copy {
    position: relative;
    padding-left: 4px;
}

.gd-lab-number {
    display: flex;
    align-items: center;

    gap: 17px;

    margin-bottom: 35px;
}

.gd-lab-number span {
    color: #f36a21;

    font-size: 52px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: -0.05em;
}

.gd-lab-number em {
    margin: 0;

    color: #77848c;

    font-size: 13px;
    line-height: 1;
    font-weight: 600;
    font-style: normal;

    letter-spacing: 0.16em;
}

.gd-lab-copy h2 {
    margin: 0 0 32px;

    color: #15252f;

    font-size:50px;
    line-height: 1.34;
    font-weight: 500;

    letter-spacing: -0.055em;
}

.gd-lab-copy h2 strong {
    color: #f36a21;
    font-weight: 700;
}

.gd-lab-copy h3 {
    position: relative;

    margin: 0 0 28px;
    padding-top: 28px;

    color: #263943;

    font-size:26px;
    line-height: 1.65;
    font-weight: 500;

    letter-spacing: -0.035em;
}

.gd-lab-copy h3::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 42px;
    height: 2px;

    background: #f36a21;
}

.gd-lab-copy h3 strong {
    color: #f36a21;
    font-weight: 700;
}

.gd-lab-copy p {
    margin: 0;

    color: #687780;

    font-size:18px;
    line-height: 1.95;
    font-weight: 400;

    letter-spacing: -0.02em;
}

.gd-lab-copy p strong {
    color: #354853;
    font-weight: 600;
}


/* =========================================================
   IMAGES
========================================================= */

.gd-lab-images {
    display: grid;

    grid-template-columns: 1fr;

    gap: 14px;
}

.gd-lab-image {
    position: relative;

    width: 100%;

    overflow: hidden;

    background: #e9ecee;
}

.gd-lab-image-top {
    height: 330px;
}

.gd-lab-image-bottom {
    height: 350px;
}

.gd-lab-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.6s ease,
        filter 0.6s ease;
}

.gd-lab-image:hover img {
    transform: scale(1.035);
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 1200px) {

    .gd-lab-inner {
        width: calc(100% - 60px);
    }


    .gd-lab-row {
        gap: 55px;
    }


    .gd-lab-copy h2 {
        font-size:40px;
    }


    .gd-lab-copy h3 {
        font-size:22px;
    }


    .gd-lab-image-top {
        height: 300px;
    }


    .gd-lab-image-bottom {
        height: 320px;
    }

}


/* =========================================================
   TABLET SMALL
========================================================= */

@media screen and (max-width: 960px) {

    .gd-lab-visual {
        height: 570px;
    }


    .gd-lab-visual-copy {
        width: 65%;
    }


    .gd-lab-visual-copy h1 {
        font-size:50px;
    }


    .gd-lab-visual-copy h2 {
        font-size:30px;
    }


    .gd-lab-section {
        padding: 100px 0;
    }


    .gd-lab-row {
        grid-template-columns: 1fr 1fr;

        gap: 40px;
    }


    .gd-lab-number span {
        font-size: 44px;
    }


    .gd-lab-copy h2 {
        font-size:34px;
    }


    .gd-lab-copy h3 {
        font-size:18px;
    }


    .gd-lab-copy p {
        font-size:18px;
    }


    .gd-lab-image-top,
    .gd-lab-image-bottom {
        height: 280px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 767px) {

    .gd-lab-inner {
        width: calc(100% - 36px);
    }


    /* -------------------------------
       VISUAL
    -------------------------------- */

    .gd-lab-visual {
        height: 520px;
    }


    .gd-lab-visual-bg {
        background-position: 62% center;
    }


    .gd-lab-visual-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(16, 31, 40, 0.86) 0%,
                rgba(16, 31, 40, 0.73) 48%,
                rgba(16, 31, 40, 0.22) 100%
            );
    }


    .gd-lab-visual-copy {
        width: 82%;
    }


    .gd-lab-visual-eng {
        margin-bottom: 15px;

        font-size: 12px;
    }


    .gd-lab-visual-copy h1 {
        margin-bottom: 24px;

        font-size:40px;
        line-height: 1.25;
    }


    .gd-lab-visual-copy h2 {
        margin-bottom: 23px;

        font-size:26px;
        line-height: 1.48;
    }


    .gd-lab-visual-copy p {
        font-size:15px;
        line-height: 1.8;
    }


    /* -------------------------------
       SECTION
    -------------------------------- */

    .gd-lab-section {
        padding: 78px 0;
    }


    .gd-lab-row {
        grid-template-columns: 1fr;

        gap: 42px;
    }


    /* -------------------------------
       NUMBER
    -------------------------------- */

    .gd-lab-number {
        gap: 12px;

        margin-bottom: 26px;
    }


    .gd-lab-number span {
        font-size: 39px;
    }


    .gd-lab-number em {
        font-size: 11px;

        letter-spacing: 0.12em;
    }


    /* -------------------------------
       TEXT
    -------------------------------- */

    .gd-lab-copy h2 {
        margin-bottom: 25px;

        font-size:34px;
        line-height: 1.4;
    }


    .gd-lab-copy h3 {
        margin-bottom: 22px;
        padding-top: 22px;

        font-size:18px;
        line-height: 1.65;
    }


    .gd-lab-copy h3::before {
        width: 34px;
    }


    .gd-lab-copy p {
        font-size:15px;
        line-height: 1.85;
    }


    .gd-lab-pc {
        display: none;
    }


    /* -------------------------------
       IMAGE
    -------------------------------- */

    .gd-lab-images {
        gap: 10px;
    }


    .gd-lab-image-top,
    .gd-lab-image-bottom {
        height: auto;
        aspect-ratio: 4 / 3;
    }


    .gd-lab-image img {
        width: 100%;
        height: 100%;

        object-fit: cover;
    }

}


/* =========================================================
   MOBILE SMALL
========================================================= */

@media screen and (max-width: 480px) {

    .gd-lab-inner {
        width: calc(100% - 30px);
    }


    .gd-lab-visual {
        height: 480px;
    }


    .gd-lab-visual-copy {
        width: 94%;
    }


    .gd-lab-visual-copy h1 {
        font-size:34px;
    }


    .gd-lab-visual-copy h2 {
        font-size:22px;
    }


    .gd-lab-visual-copy p br {
        display: none;
    }


    .gd-lab-section {
        padding: 65px 0;
    }


    .gd-lab-number {
        margin-bottom: 22px;
    }


    .gd-lab-number span {
        font-size: 36px;
    }


    .gd-lab-number em {
        font-size: 10px;
    }


    .gd-lab-copy h2 {
        margin-bottom: 22px;

        font-size:26px;
        line-height: 1.42;
    }


    .gd-lab-copy h3 {
        margin-bottom: 20px;

        font-size:18px;
    }


    .gd-lab-copy p {
        font-size:15px;
        line-height: 1.8;
    }


    .gd-lab-images {
        gap: 8px;
    }

}





/* =========================================================
   GRAND DENTAL
   구강외과 진료
========================================================= */

.gd-oral-page {
    width: 100%;
    overflow: hidden;

    font-family:
        "Pretendard",
        "Noto Sans KR",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    color: #17252d;
    word-break: keep-all;
}

.gd-oral-page * {
    box-sizing: border-box;
}

.gd-oral-page img {
    display: block;
    width: 100%;
    max-width: 100%;
}

.gd-oral-inner {
    width: calc(100% - 80px);
    max-width: 1280px;

    margin: 0 auto;
}


/* =========================================================
   MAIN VISUAL
========================================================= */

.gd-oral-visual {
    position: relative;

    width: 100%;
    height: 650px;

    overflow: hidden;

    background: #152832;
}

.gd-oral-visual-bg {
    position: absolute;
    inset: 0;

    background-image:
        url("/theme/grand/img/oral_visual.jpg");

    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.gd-oral-visual-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(19, 32, 40, 0.80) 0%,
            rgba(19, 32, 40, 0.66) 30%,
            rgba(19, 32, 40, 0.23) 58%,
            rgba(19, 32, 40, 0) 83%
        );
}

.gd-oral-visual-inner {
    position: relative;
    z-index: 2;

    height: 100%;

    display: flex;
    align-items: center;
}

.gd-oral-visual-copy {
    width: 55%;

    color: #fff;
}

.gd-oral-eyebrow {
    display: block;

    margin-bottom: 22px;

    color: #f36a21;

    font-size: 15px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.13em;
}

.gd-oral-visual-copy h1 {
    margin: 0 0 32px;

    color: #fff;

    font-size: 60px;
    line-height: 1.2;
    font-weight: 700;

    letter-spacing: -0.055em;
}

.gd-oral-visual-copy h2 {
    margin: 0 0 31px;

    color: #fff;

    font-size: 34px;
    line-height: 1.5;
    font-weight: 400;

    letter-spacing: -0.04em;
}

.gd-oral-visual-copy h2 strong {
    color: #fff;
    font-weight: 700;
}

.gd-oral-visual-copy p {
    margin: 0;

    color: rgba(255, 255, 255, 0.84);

    font-size: 18px;
    line-height: 1.9;
}


/* =========================================================
   COMMON SECTION
========================================================= */

.gd-oral-section {
    padding: 125px 0;

    background: #fff;
}

.gd-oral-section-gray {
    background: #f7f8f8;
}


/* =========================================================
   TOP SPLIT
========================================================= */

.gd-oral-top-split {
    display: grid;

    grid-template-columns:
        minmax(0, 0.85fr)
        minmax(0, 1.15fr);

    align-items: center;

    gap: 75px;
}

.gd-oral-top-split .gd-oral-heading {
    margin-bottom: 0;
}

.gd-oral-top-image {
    width: 100%;
    height: 470px;

    overflow: hidden;
}

.gd-oral-top-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.gd-oral-heading {
    margin-bottom: 55px;
}

.gd-oral-heading-num {
    display: flex;
    align-items: center;

    gap: 17px;

    margin-bottom: 29px;
}

.gd-oral-heading-num strong {
    color: #f36a21;

    font-size: 50px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: -0.05em;
}

.gd-oral-heading-num span {
    color: #7c878d;

    font-size: 13px;
    line-height: 1;
    font-weight: 600;

    letter-spacing: 0.16em;
}

.gd-oral-heading h2 {
    margin: 0 0 20px;

    color: #17252d;

    font-size: 50px;
    line-height: 1.3;
    font-weight: 700;

    letter-spacing: -0.055em;
}

.gd-oral-heading h2 em {
    color: #f36a21;

    font-style: normal;
}

.gd-oral-heading h3 {
    margin: 0 0 19px;

    color: #263841;

    font-size: 26px;
    line-height: 1.55;
    font-weight: 500;

    letter-spacing: -0.04em;
}

.gd-oral-heading h3 strong {
    color: #f36a21;
    font-weight: 700;
}

.gd-oral-heading p {
    margin: 0;

    color: #6c7980;

    font-size: 18px;
    line-height: 1.9;

    letter-spacing: -0.025em;
}


/* =========================================================
   ONE DAY FEATURE
========================================================= */

.gd-oral-feature {
    display: grid;

    grid-template-columns: 1fr 1fr;

    margin-top: 55px;

    background: #fbf7f2;
}

.gd-oral-feature-title,
.gd-oral-feature-text {
    padding: 55px 60px;
}

.gd-oral-feature-title {
    border-right: 1px solid #eadfd6;
}

.gd-oral-feature-title span {
    display: block;

    margin-bottom: 13px;

    color: #f36a21;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 0.18em;
}

.gd-oral-feature-title h3 {
    margin: 0;

    color: #18252d;

    font-size: 35px;
    line-height: 1.4;
    font-weight: 600;

    letter-spacing: -0.05em;
}

.gd-oral-feature-title h3 strong {
    color: #f36a21;

    font-size: 52px;
    font-weight: 800;
}

.gd-oral-feature-text h4 {
    margin: 0 0 20px;

    color: #1d2b33;

    font-size: 27px;
    line-height: 1.45;
    font-weight: 600;
}

.gd-oral-feature-text h4 strong {
    color: #f36a21;
}

.gd-oral-feature-text p {
    margin: 0;

    color: #69767d;

    font-size: 17px;
    line-height: 1.85;
}


/* =========================================================
   NORMAL SPLIT
========================================================= */

.gd-oral-split {
    display: grid;

    grid-template-columns:
        minmax(0, 0.85fr)
        minmax(0, 1.15fr);

    align-items: center;

    gap: 75px;
}

.gd-oral-small-eng {
    display: block;

    margin-bottom: 18px;

    color: #8b959b;

    font-size: 12px;
    line-height: 1;
    font-weight: 600;

    letter-spacing: 0.16em;
}

.gd-oral-copy h2 {
    margin: 0 0 28px;

    color: #17252d;

    font-size: 46px;
    line-height: 1.35;
    font-weight: 700;

    letter-spacing: -0.055em;
}

.gd-oral-copy h2 strong {
    color: #f36a21;
}

.gd-oral-copy h3 {
    margin: 0 0 24px;

    color: #263841;

    font-size: 25px;
    line-height: 1.55;
    font-weight: 600;

    letter-spacing: -0.04em;
}

.gd-oral-copy p {
    margin: 0;

    color: #69767d;

    font-size: 18px;
    line-height: 1.9;

    letter-spacing: -0.025em;
}

.gd-oral-split-image {
    width: 100%;
    height: 470px;

    overflow: hidden;
}

.gd-oral-split-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   CHECK LIST
========================================================= */

.gd-oral-check {
    margin: 33px 0 0;
    padding: 0;

    list-style: none;
}

.gd-oral-check li {
    position: relative;

    margin: 14px 0;
    padding-left: 31px;

    color: #3f4e57;

    font-size: 18px;
    line-height: 1.6;
}

.gd-oral-check li::before {
    content: "✓";

    position: absolute;

    top: 2px;
    left: 0;

    width: 21px;
    height: 21px;

    color: #fff;
    background: #f36a21;

    border-radius: 50%;

    font-size: 12px;
    line-height: 21px;
    font-weight: 700;

    text-align: center;
}


/* =========================================================
   맞춤 심미보철
========================================================= */

.gd-oral-esthetic-box {
    display: grid;

    grid-template-columns:
        minmax(0, 0.8fr)
        minmax(0, 1.2fr);

    margin-top: 55px;

    background: #fbf7f2;
}

.gd-oral-esthetic-title {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 55px 50px;

    border-right: 1px solid #eadfd6;
}

.gd-oral-esthetic-label {
    display: inline-block;

    width: fit-content;

    margin-bottom: 28px;
    padding: 10px 17px;

    color: #fff;
    background: #c75b16;

    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;

    letter-spacing: -0.02em;
}

.gd-oral-esthetic-title h3 {
    margin: 0;

    color: #17252d;

    font-size: 48px;
    line-height: 1.3;
    font-weight: 700;

    letter-spacing: -0.055em;
}

.gd-oral-esthetic-title h3 strong {
    color: #f36a21;
    font-weight: 800;
}

.gd-oral-esthetic-eng {
    display: block;

    margin-top: 23px;

    color: #a2a7aa;

    font-size: 12px;
    line-height: 1;
    font-weight: 500;

    letter-spacing: 0.3em;
}

.gd-oral-esthetic-content {
    padding: 52px 45px 0;
}

.gd-oral-esthetic-content > h4 {
    margin: 0 0 38px;

    color: #263841;

    font-size: 24px;
    line-height: 1.6;
    font-weight: 500;

    letter-spacing: -0.04em;
}

.gd-oral-esthetic-content > h4 strong {
    color: #f36a21;
    font-weight: 700;
}


/* =========================================================
   심미보철 종류
========================================================= */

.gd-oral-treatment-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid #e4ddd7;
}

.gd-oral-treatment {
    padding: 30px 15px 36px;

    text-align: center;

    border-right: 1px solid #e4ddd7;
}

.gd-oral-treatment:last-child {
    border-right: 0;
}

.gd-oral-treatment > span {
    display: block;

    margin-bottom: 12px;

    color: #f36a21;

    font-size: 12px;
    font-weight: 700;
}

.gd-oral-treatment strong {
    display: block;

    margin-bottom: 8px;

    color: #1c2b33;

    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
}

.gd-oral-treatment p {
    margin: 0;

    color: #849098;

    font-size: 13px;
    line-height: 1.5;
}


/* =========================================================
   CASE GRID
========================================================= */

.gd-oral-case-grid {
    display: grid;

    grid-template-columns: repeat(5, 1fr);

    margin-top: 60px;

    border-top: 1px solid #e5e7e8;
    border-bottom: 1px solid #e5e7e8;
}

.gd-oral-case {
    padding: 40px 18px;

    text-align: center;

    border-right: 1px solid #e5e7e8;
}

.gd-oral-case:last-child {
    border-right: 0;
}

.gd-oral-case span {
    display: block;

    margin-bottom: 16px;

    color: #f36a21;

    font-size: 14px;
    font-weight: 700;
}

.gd-oral-case p {
    margin: 0;

    color: #3c4b54;

    font-size: 16px;
    line-height: 1.65;
}


/* =========================================================
   TMJ SYMPTOM
========================================================= */

.gd-oral-symptom {
    margin-top: 55px;
}

.gd-oral-symptom > h3 {
    margin: 0 0 34px;

    color: #25363f;

    font-size: 28px;
    line-height: 1.5;
}

.gd-oral-symptom > h3 strong {
    color: #f36a21;
}

.gd-oral-symptom-grid {
    display: grid;

    grid-template-columns: repeat(5, 1fr);

    border-top: 1px solid #e1e4e6;
    border-bottom: 1px solid #e1e4e6;
}

.gd-oral-symptom-grid > div {
    padding: 34px 16px;

    text-align: center;

    border-right: 1px solid #e1e4e6;
}

.gd-oral-symptom-grid > div:last-child {
    border-right: 0;
}

.gd-oral-symptom-grid span {
    display: block;

    margin-bottom: 14px;

    color: #f36a21;

    font-size: 14px;
    font-weight: 700;
}

.gd-oral-symptom-grid p {
    margin: 0;

    color: #3f4e57;

    font-size: 16px;
    line-height: 1.65;
}


/* =========================================================
   TMJ TREATMENT
========================================================= */

.gd-oral-treatment-card-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    margin-top: 65px;

    border-top: 1px solid #dfe3e5;
    border-bottom: 1px solid #dfe3e5;
}

.gd-oral-treatment-card {
    padding: 45px;

    border-right: 1px solid #dfe3e5;
}

.gd-oral-treatment-card:last-child {
    border-right: 0;
}

.gd-oral-treatment-card > span {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    margin-bottom: 25px;

    color: #fff;
    background: #f36a21;

    border-radius: 50%;

    font-size: 14px;
    font-weight: 700;
}

.gd-oral-treatment-card h4 {
    margin: 0 0 16px;

    color: #18262e;

    font-size: 24px;
    line-height: 1.4;
}

.gd-oral-treatment-card p {
    margin: 0;

    color: #69767d;

    font-size: 16px;
    line-height: 1.8;
}


/* =========================================================
   DENTAL TRAUMA
========================================================= */

.gd-oral-trauma {
    display: grid;

    grid-template-columns:
        minmax(0, 0.75fr)
        minmax(0, 1.25fr);

    margin-top: 55px;

    background: #fbf7f2;
}

.gd-oral-trauma-title {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 55px;

    border-right: 1px solid #eadfd6;
}

.gd-oral-trauma-title > span {
    margin-bottom: 18px;

    color: #f36a21;

    font-size: 15px;
    font-weight: 700;
}

.gd-oral-trauma-title h3 {
    margin: 0;

    color: #1c2b33;

    font-size: 35px;
    line-height: 1.45;
}

.gd-oral-trauma-title h3 strong {
    color: #f36a21;
}

.gd-oral-trauma-list {
    display: grid;

    grid-template-columns: repeat(5, 1fr);
}

.gd-oral-trauma-list > div {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 40px 17px;

    text-align: center;

    border-right: 1px solid #eadfd6;
}

.gd-oral-trauma-list > div:last-child {
    border-right: 0;
}

.gd-oral-trauma-list span {
    display: block;

    margin-bottom: 13px;

    color: #f36a21;

    font-size: 14px;
    font-weight: 700;
}

.gd-oral-trauma-list p {
    margin: 0;

    color: #404e56;

    font-size: 15px;
    line-height: 1.6;
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 1200px) {

    .gd-oral-inner {
        width: calc(100% - 60px);
    }

    .gd-oral-top-split,
    .gd-oral-split {
        gap: 50px;
    }

    .gd-oral-heading h2 {
        font-size: 43px;
    }

    .gd-oral-copy h2 {
        font-size: 40px;
    }

    .gd-oral-top-image,
    .gd-oral-split-image {
        height: 430px;
    }

    .gd-oral-esthetic-title {
        padding: 45px 40px;
    }

    .gd-oral-esthetic-title h3 {
        font-size: 43px;
    }

}


/* =========================================================
   TABLET SMALL
========================================================= */

@media screen and (max-width: 960px) {

    .gd-oral-visual {
        height: 570px;
    }

    .gd-oral-visual-copy {
        width: 65%;
    }

    .gd-oral-visual-copy h1 {
        font-size: 50px;
    }

    .gd-oral-visual-copy h2 {
        font-size: 30px;
    }

    .gd-oral-section {
        padding: 95px 0;
    }

    .gd-oral-top-split,
    .gd-oral-split {
        grid-template-columns: 1fr 1fr;

        gap: 35px;
    }

    .gd-oral-heading-num strong {
        font-size: 43px;
    }

    .gd-oral-heading h2 {
        font-size: 38px;
    }

    .gd-oral-heading h3 {
        font-size: 22px;
    }

    .gd-oral-heading p {
        font-size: 17px;
    }

    .gd-oral-copy h2 {
        font-size: 36px;
    }

    .gd-oral-top-image,
    .gd-oral-split-image {
        height: 380px;
    }

    .gd-oral-feature-title,
    .gd-oral-feature-text {
        padding: 40px;
    }


    /* 심미보철 */

    .gd-oral-esthetic-box {
        grid-template-columns: 0.9fr 1.1fr;
    }

    .gd-oral-esthetic-title {
        padding: 40px 30px;
    }

    .gd-oral-esthetic-title h3 {
        font-size: 39px;
    }

    .gd-oral-esthetic-content {
        padding: 40px 30px 0;
    }

    .gd-oral-esthetic-content > h4 {
        font-size: 21px;
    }

    .gd-oral-treatment {
        padding: 27px 10px 30px;
    }

    .gd-oral-treatment-card {
        padding: 35px 25px;
    }

    .gd-oral-trauma {
        grid-template-columns: 1fr;
    }

    .gd-oral-trauma-title {
        border-right: 0;
        border-bottom: 1px solid #eadfd6;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 767px) {

    .gd-oral-inner {
        width: calc(100% - 36px);
    }


    /* MAIN VISUAL */

    .gd-oral-visual {
        height: 520px;
    }

    .gd-oral-visual-bg {
        background-position: 67% center;
    }

    .gd-oral-visual-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(19, 32, 40, 0.88) 0%,
                rgba(19, 32, 40, 0.70) 55%,
                rgba(19, 32, 40, 0.20) 100%
            );
    }

    .gd-oral-visual-copy {
        width: 88%;
    }

    .gd-oral-eyebrow {
        margin-bottom: 15px;

        font-size: 12px;
    }

    .gd-oral-visual-copy h1 {
        margin-bottom: 24px;

        font-size: 39px;
    }

    .gd-oral-visual-copy h2 {
        margin-bottom: 23px;

        font-size: 25px;
    }

    .gd-oral-visual-copy p {
        font-size: 15px;
        line-height: 1.8;
    }


    /* SECTION */

    .gd-oral-section {
        padding: 75px 0;
    }


    /* SPLIT */

    .gd-oral-top-split,
    .gd-oral-split {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .gd-oral-top-image,
    .gd-oral-split-image {
        height: auto;

        aspect-ratio: 4 / 3;
    }


    /* HEADING */

    .gd-oral-heading {
        margin-bottom: 38px;
    }

    .gd-oral-top-split .gd-oral-heading {
        margin-bottom: 0;
    }

    .gd-oral-heading-num {
        margin-bottom: 21px;
    }

    .gd-oral-heading-num strong {
        font-size: 39px;
    }

    .gd-oral-heading-num span {
        font-size: 10px;
    }

    .gd-oral-heading h2 {
        font-size: 33px;
    }

    .gd-oral-heading h3 {
        font-size: 20px;
    }

    .gd-oral-heading p {
        font-size: 16px;
    }


    /* 당일 발치 */

    .gd-oral-feature {
        grid-template-columns: 1fr;

        margin-top: 40px;
    }

    .gd-oral-feature-title,
    .gd-oral-feature-text {
        padding: 32px 25px;
    }

    .gd-oral-feature-title {
        border-right: 0;
        border-bottom: 1px solid #eadfd6;
    }

    .gd-oral-feature-title h3 {
        font-size: 26px;
    }

    .gd-oral-feature-title h3 strong {
        font-size: 38px;
    }

    .gd-oral-feature-text h4 {
        font-size: 23px;
    }


    /* NORMAL COPY */

    .gd-oral-copy h2 {
        font-size: 32px;
    }

    .gd-oral-copy h3 {
        font-size: 20px;
    }

    .gd-oral-copy p {
        font-size: 16px;
    }

    .gd-oral-check li {
        font-size: 16px;
    }


    /* 맞춤 심미보철 */

    .gd-oral-esthetic-box {
        grid-template-columns: 1fr;

        margin-top: 40px;
    }

    .gd-oral-esthetic-title {
        padding: 32px 25px;

        border-right: 0;
        border-bottom: 1px solid #eadfd6;
    }

    .gd-oral-esthetic-label {
        margin-bottom: 20px;

        font-size: 12px;
    }

    .gd-oral-esthetic-title h3 {
        font-size: 33px;
    }

    .gd-oral-esthetic-eng {
        margin-top: 17px;

        font-size: 10px;
    }

    .gd-oral-esthetic-content {
        padding: 30px 25px 0;
    }

    .gd-oral-esthetic-content > h4 {
        margin-bottom: 28px;

        font-size: 19px;
    }

    .gd-oral-treatment-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .gd-oral-treatment {
        padding: 25px 10px;

        border-bottom: 1px solid #e4ddd7;
    }

    .gd-oral-treatment:nth-child(2n) {
        border-right: 0;
    }

    .gd-oral-treatment:nth-last-child(-n+2) {
        border-bottom: 0;
    }


    /* 심미보철 대상 */

    .gd-oral-case-grid {
        grid-template-columns: 1fr;

        margin-top: 40px;
    }

    .gd-oral-case {
        display: flex;
        align-items: center;

        gap: 20px;

        padding: 20px 0;

        text-align: left;

        border-right: 0;
        border-bottom: 1px solid #e5e7e8;
    }

    .gd-oral-case:last-child {
        border-bottom: 0;
    }

    .gd-oral-case span {
        flex: 0 0 auto;

        margin: 0;
    }

    .gd-oral-case p br {
        display: none;
    }


    /* 턱관절 증상 */

    .gd-oral-symptom {
        margin-top: 40px;
    }

    .gd-oral-symptom > h3 {
        font-size: 22px;
    }

    .gd-oral-symptom-grid {
        grid-template-columns: 1fr;
    }

    .gd-oral-symptom-grid > div {
        display: flex;
        align-items: center;

        gap: 20px;

        padding: 20px 0;

        text-align: left;

        border-right: 0;
        border-bottom: 1px solid #e1e4e6;
    }

    .gd-oral-symptom-grid > div:last-child {
        border-bottom: 0;
    }

    .gd-oral-symptom-grid span {
        margin: 0;
    }

    .gd-oral-symptom-grid p br {
        display: none;
    }


    /* 턱관절 치료 */

    .gd-oral-treatment-card-grid {
        grid-template-columns: 1fr;

        margin-top: 40px;
    }

    .gd-oral-treatment-card {
        padding: 30px 0;

        border-right: 0;
        border-bottom: 1px solid #dfe3e5;
    }

    .gd-oral-treatment-card:last-child {
        border-bottom: 0;
    }


    /* 치아 외상 */

    .gd-oral-trauma {
        grid-template-columns: 1fr;

        margin-top: 40px;
    }

    .gd-oral-trauma-title {
        padding: 32px 25px;

        border-right: 0;
        border-bottom: 1px solid #eadfd6;
    }

    .gd-oral-trauma-title h3 {
        font-size: 28px;
    }

    .gd-oral-trauma-list {
        grid-template-columns: 1fr;
    }

    .gd-oral-trauma-list > div {
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;

        gap: 20px;

        padding: 20px 25px;

        text-align: left;

        border-right: 0;
        border-bottom: 1px solid #eadfd6;
    }

    .gd-oral-trauma-list > div:last-child {
        border-bottom: 0;
    }

    .gd-oral-trauma-list span {
        margin: 0;
    }

}


/* =========================================================
   MOBILE SMALL
========================================================= */

@media screen and (max-width: 480px) {

    .gd-oral-inner {
        width: calc(100% - 30px);
    }

    .gd-oral-visual {
        height: 480px;
    }

    .gd-oral-visual-copy {
        width: 94%;
    }

    .gd-oral-visual-copy h1 {
        font-size: 34px;
    }

    .gd-oral-visual-copy h2 {
        font-size: 22px;
    }

    .gd-oral-visual-copy p br {
        display: none;
    }

    .gd-oral-section {
        padding: 62px 0;
    }

    .gd-oral-heading-num strong {
        font-size: 36px;
    }

    .gd-oral-heading h2 {
        font-size: 29px;
    }

    .gd-oral-heading h3 {
        font-size: 18px;
    }

    .gd-oral-heading p {
        font-size: 15px;
    }

    .gd-oral-copy h2 {
        font-size: 29px;
    }

    .gd-oral-copy h3 {
        font-size: 18px;
    }

    .gd-oral-copy p {
        font-size: 15px;
    }

    .gd-oral-esthetic-title h3 {
        font-size: 29px;
    }

    .gd-oral-esthetic-content > h4 {
        font-size: 18px;
    }

    .gd-oral-treatment strong {
        font-size: 16px;
    }

    .gd-oral-treatment p {
        font-size: 12px;
    }

    .gd-oral-feature-title h3 strong {
        font-size: 35px;
    }

}

/* =========================================================
   구강외과 페이지 - 이미지 / 반응형 수정
========================================================= */

.grand_natural_page,
.grand_natural_page * {
    box-sizing: border-box;
}

.gd-oral-page {
    width: 100%;
    overflow: hidden;
}

.gd-oral-inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding-left: 30px;
    padding-right: 30px;
}


/* =========================================================
   모든 이미지 기본 설정
========================================================= */

.gd-oral-page img {
    display: block;
    max-width: 100%;
    height: auto;
}


/* =========================================================
   상단 큰 이미지 영역
   oral01 / oral04 / oral06 / oral11
========================================================= */

.gd-oral-top-split {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 70px;
    width: 100%;
}

.gd-oral-heading {
    flex: 1 1 48%;
    min-width: 0;
}

.gd-oral-top-image {
    flex: 0 1 540px;
    width: 48%;
    margin-left: auto;
    text-align: right;
}

.gd-oral-top-image img {
    display: block;
    width: 100%;
    max-width: 540px;
    height: auto;
    margin-left: auto;
    object-fit: contain;
}


/* =========================================================
   일반 좌우 이미지 영역
   oral02 / oral03 / oral05 / oral07
========================================================= */

.gd-oral-split {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 70px;
    width: 100%;
}

.gd-oral-copy {
    flex: 1 1 48%;
    min-width: 0;
}

.gd-oral-split-image {
    flex: 0 1 540px;
    width: 48%;
    margin-left: auto;
}

.gd-oral-split-image img {
    display: block;
    width: 100%;
    max-width: 540px;
    height: auto;
    margin-left: auto;
    object-fit: contain;
}


/* =========================================================
   맞춤 심미보철 아이콘
   gd-oral-01 ~ 04.png
========================================================= */

.gd-oral-treatment-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    width: 100%;
}

.gd-oral-treatment {
    min-width: 0;
    text-align: center;
}

.gd-oral-treatment img {
    display: block;
    width: auto;
    max-width: 130px;
    max-height: 130px;
    height: auto;
    margin: 20px auto;
    object-fit: contain;
}


/* =========================================================
   심미보철 대상 아이콘
   gd-oral-05 ~ 09.png
========================================================= */

.gd-oral-case-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    width: 100%;
}

.gd-oral-case {
    min-width: 0;
    text-align: center;
}

.gd-oral-case img {
    display: block;
    width: auto;
    max-width: 130px;
    max-height: 130px;
    height: auto;
    margin: 20px auto;
    object-fit: contain;
}


/* =========================================================
   턱관절 증상 아이콘
   gd-oral-10 ~ 14.png
========================================================= */

.gd-oral-symptom-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    width: 100%;
}

.gd-oral-symptom-grid > div {
    min-width: 0;
    text-align: center;
}

.gd-oral-symptom-grid img {
    display: block;
    width: auto;
    max-width: 120px;
    max-height: 120px;
    height: auto;
    margin: 20px auto;
    object-fit: contain;
}


/* =========================================================
   턱관절 치료 사진
   oral08 / oral09 / oral10.jpg
========================================================= */

.gd-oral-treatment-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    width: 100%;
}

.gd-oral-treatment-card {
    min-width: 0;
    overflow: hidden;
}

.gd-oral-treatment-card img {
    display: block;
    width: 100%;
    height: auto;
    margin: 20px 0;
    object-fit: contain;
}


/* =========================================================
   치아외상 아이콘
   gd-oral-15 ~ 19.png
========================================================= */

.gd-oral-trauma-list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    width: 100%;
}

.gd-oral-trauma-list > div {
    min-width: 0;
    text-align: center;
}

.gd-oral-trauma-list img {
    display: block;
    width: auto;
    max-width: 120px;
    max-height: 120px;
    height: auto;
    margin: 20px auto;
    object-fit: contain;
}


/* =========================================================
   태블릿
========================================================= */

@media screen and (max-width: 1100px) {

    .gd-oral-inner {
        padding-left: 25px;
        padding-right: 25px;
    }

    .gd-oral-top-split,
    .gd-oral-split {
        gap: 40px;
    }

    .gd-oral-top-image,
    .gd-oral-split-image {
        flex-basis: 46%;
        width: 46%;
    }

    .gd-oral-top-image img,
    .gd-oral-split-image img {
        max-width: 100%;
    }


    /* 4개 → 2개 */
    .gd-oral-treatment-grid {
        grid-template-columns: repeat(2, 1fr);
    }


    /* 5개 → 3개 */
    .gd-oral-case-grid,
    .gd-oral-symptom-grid,
    .gd-oral-trauma-list {
        grid-template-columns: repeat(3, 1fr);
    }

}


/* =========================================================
   모바일
========================================================= */

@media screen and (max-width: 768px) {

    /* 맞춤 심미보철 */
    .gd-oral-treatment-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    /* 심미보철 대상 */
    .gd-oral-case-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    /* 턱관절 증상 */
    .gd-oral-symptom-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    /* 치아외상 */
    .gd-oral-trauma-list {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    /* 이미지 크기 */
    .gd-oral-treatment img,
    .gd-oral-case img,
    .gd-oral-symptom-grid img,
    .gd-oral-trauma-list img {
        max-width: 140px;
        max-height: 140px;
        width: auto;
        height: auto;
        margin: 15px auto;
        object-fit: contain;
    }

}

/* =========================================================
   모바일 - 제목 → 이미지 → 설명 순서
========================================================= */
@media screen and (max-width: 768px) {

    .gd-oral-split {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 0;
    }

    /*
       copy 내부 요소를 부모 flex의 직접 자식처럼 처리
       제목과 설명 사이에 이미지를 넣기 위함
    */
    .gd-oral-split .gd-oral-copy {
        display: contents;
    }


    /* 영문 소제목 */
    .gd-oral-split .gd-oral-small-eng {
        order: 1;
        display: block;
        width: 100%;
        margin-bottom: 8px;
    }


    /* 메인 제목 */
    .gd-oral-split .gd-oral-copy > h2 {
        order: 2;
        width: 100%;
        margin-bottom: 22px;
    }


    /* 턱관절 치료 등에 있는 추가 제목 */
    .gd-oral-split .gd-oral-copy > h3 {
        order: 3;
        width: 100%;
        margin-bottom: 22px;
    }


    /* 이미지 */
    .gd-oral-split .gd-oral-split-image {
        order: 4;
        width: 100%;
        max-width: 100%;
        margin: 0 0 24px;
    }

    .gd-oral-split .gd-oral-split-image img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
        object-fit: contain;
    }


    /* 설명 */
    .gd-oral-split .gd-oral-copy > p {
        order: 5;
        width: 100%;
        margin: 0 0 22px;
        line-height: 1.85;
    }


    /* 체크 리스트 */
    .gd-oral-split .gd-oral-check {
        order: 6;
        width: 100%;
        margin: 0;
    }

}




/* =========================================================
   GRAND DENTAL
   구강외과 진료
========================================================= */

.gd-oral-page {
    width: 100%;
    overflow: hidden;

    font-family:
        "Pretendard",
        "Noto Sans KR",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    color: #17252d;
    word-break: keep-all;
}

.gd-oral-page *,
.gd-oral-page *::before,
.gd-oral-page *::after {
    box-sizing: border-box;
}

.gd-oral-page img {
    display: block;
    max-width: 100%;
    height: auto;
}

.gd-oral-inner {
    width: calc(100% - 80px);
    max-width: 1280px;
    margin: 0 auto;
}


/* =========================================================
   MAIN VISUAL
========================================================= */

.gd-oral-visual {
    position: relative;
    width: 100%;
    height: 650px;
    overflow: hidden;
    background: #152832;
}

.gd-oral-visual-bg {
    position: absolute;
    inset: 0;

    background-image: url("/theme/grand/img/oral_visual.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.gd-oral-visual-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(19, 32, 40, 0.80) 0%,
            rgba(19, 32, 40, 0.66) 30%,
            rgba(19, 32, 40, 0.23) 58%,
            rgba(19, 32, 40, 0) 83%
        );
}

.gd-oral-visual-inner {
    position: relative;
    z-index: 2;

    height: 100%;

    display: flex;
    align-items: center;
}

.gd-oral-visual-copy {
    width: 55%;
    color: #fff;
}

.gd-oral-eyebrow {
    display: block;

    margin-bottom: 22px;

    color: #f36a21;

    font-size: 15px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: 0.13em;
}

.gd-oral-visual-copy h1 {
    margin: 0 0 32px;

    color: #fff;

    font-size: 60px;
    line-height: 1.2;
    font-weight: 700;

    letter-spacing: -0.055em;
}

.gd-oral-visual-copy h2 {
    margin: 0 0 31px;

    color: #fff;

    font-size: 34px;
    line-height: 1.5;
    font-weight: 400;

    letter-spacing: -0.04em;
}

.gd-oral-visual-copy h2 strong {
    color: #fff;
    font-weight: 700;
}

.gd-oral-visual-copy p {
    margin: 0;

    color: rgba(255, 255, 255, 0.84);

    font-size: 18px;
    line-height: 1.9;
}


/* =========================================================
   COMMON SECTION
========================================================= */

.gd-oral-section {
    padding: 125px 0;
    background: #fff;
}

.gd-oral-section-gray {
    background: #f7f8f8;
}


/* =========================================================
   TOP SPLIT
========================================================= */

.gd-oral-top-split {
    display: grid;

    grid-template-columns:
        minmax(0, 0.85fr)
        minmax(0, 1.15fr);

    align-items: center;

    gap: 75px;
}

.gd-oral-top-split .gd-oral-heading {
    margin-bottom: 0;
}

.gd-oral-top-image {
    width: 100%;
    height: 470px;
    overflow: hidden;
}

.gd-oral-top-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.gd-oral-heading {
    margin-bottom: 55px;
}

.gd-oral-heading-num {
    display: flex;
    align-items: center;

    gap: 17px;

    margin-bottom: 29px;
}

.gd-oral-heading-num strong {
    color: #f36a21;

    font-size: 50px;
    line-height: 1;
    font-weight: 700;

    letter-spacing: -0.05em;
}

.gd-oral-heading-num span {
    color: #7c878d;

    font-size: 13px;
    line-height: 1;
    font-weight: 600;

    letter-spacing: 0.16em;
}

.gd-oral-heading h2 {
    margin: 0 0 20px;

    color: #17252d;

    font-size: 50px;
    line-height: 1.3;
    font-weight: 700;

    letter-spacing: -0.055em;
}

.gd-oral-heading h2 em {
    color: #f36a21;
    font-style: normal;
}

.gd-oral-heading h3 {
    margin: 0 0 19px;

    color: #263841;

    font-size: 26px;
    line-height: 1.55;
    font-weight: 500;

    letter-spacing: -0.04em;
}

.gd-oral-heading h3 strong {
    color: #f36a21;
    font-weight: 700;
}

.gd-oral-heading p {
    margin: 0;

    color: #6c7980;

    font-size: 18px;
    line-height: 1.9;

    letter-spacing: -0.025em;
}


/* =========================================================
   ONE DAY FEATURE
========================================================= */

.gd-oral-feature {
    display: grid;
    grid-template-columns: 1fr 1fr;

    margin-top: 55px;

    background: #fbf7f2;
}

.gd-oral-feature-title,
.gd-oral-feature-text {
    padding: 55px 60px;
}

.gd-oral-feature-title {
    border-right: 1px solid #eadfd6;
}

.gd-oral-feature-title span {
    display: block;

    margin-bottom: 13px;

    color: #f36a21;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 0.18em;
}

.gd-oral-feature-title h3 {
    margin: 0;

    color: #18252d;

    font-size: 35px;
    line-height: 1.4;
    font-weight: 600;

    letter-spacing: -0.05em;
}

.gd-oral-feature-title h3 strong {
    color: #f36a21;

    font-size: 52px;
    font-weight: 800;
}

.gd-oral-feature-text h4 {
    margin: 0 0 20px;

    color: #1d2b33;

    font-size: 27px;
    line-height: 1.45;
    font-weight: 600;
}

.gd-oral-feature-text h4 strong {
    color: #f36a21;
}

.gd-oral-feature-text p {
    margin: 0;

    color: #69767d;

    font-size: 17px;
    line-height: 1.85;
}


/* =========================================================
   NORMAL SPLIT
========================================================= */

.gd-oral-split {
    display: grid;

    grid-template-columns:
        minmax(0, 0.85fr)
        minmax(0, 1.15fr);

    align-items: center;

    gap: 75px;
}

.gd-oral-small-eng {
    display: block;

    margin-bottom: 18px;

    color: #8b959b;

    font-size: 12px;
    line-height: 1;
    font-weight: 600;

    letter-spacing: 0.16em;
}

.gd-oral-copy h2 {
    margin: 0 0 28px;

    color: #17252d;

    font-size: 46px;
    line-height: 1.35;
    font-weight: 700;

    letter-spacing: -0.055em;
}

.gd-oral-copy h2 strong {
    color: #f36a21;
}

.gd-oral-copy h3 {
    margin: 0 0 24px;

    color: #263841;

    font-size: 25px;
    line-height: 1.55;
    font-weight: 600;

    letter-spacing: -0.04em;
}

.gd-oral-copy p {
    margin: 0;

    color: #69767d;

    font-size: 18px;
    line-height: 1.9;

    letter-spacing: -0.025em;
}

.gd-oral-split-image {
    width: 100%;
    height: 470px;
    overflow: hidden;
}

.gd-oral-split-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* =========================================================
   CHECK LIST
========================================================= */

.gd-oral-check {
    margin: 33px 0 0;
    padding: 0;

    list-style: none;
}

.gd-oral-check li {
    position: relative;

    margin: 14px 0;
    padding-left: 31px;

    color: #3f4e57;

    font-size: 18px;
    line-height: 1.6;
}

.gd-oral-check li::before {
    content: "✓";

    position: absolute;

    top: 2px;
    left: 0;

    width: 21px;
    height: 21px;

    color: #fff;
    background: #f36a21;

    border-radius: 50%;

    font-size: 12px;
    line-height: 21px;
    font-weight: 700;

    text-align: center;
}


/* =========================================================
   맞춤 심미보철
========================================================= */

.gd-oral-esthetic-box {
    display: grid;

    grid-template-columns:
        minmax(0, 0.8fr)
        minmax(0, 1.2fr);

    margin-top: 55px;

    background: #fbf7f2;
}

.gd-oral-esthetic-title {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 55px 50px;

    border-right: 1px solid #eadfd6;
}

.gd-oral-esthetic-label {
    display: inline-block;

    width: fit-content;

    margin-bottom: 28px;
    padding: 10px 17px;

    color: #fff;
    background: #c75b16;

    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;

    letter-spacing: -0.02em;
}

.gd-oral-esthetic-title h3 {
    margin: 0;

    color: #17252d;

    font-size: 48px;
    line-height: 1.3;
    font-weight: 700;

    letter-spacing: -0.055em;
}

.gd-oral-esthetic-title h3 strong {
    color: #f36a21;
    font-weight: 800;
}

.gd-oral-esthetic-eng {
    display: block;

    margin-top: 23px;

    color: #a2a7aa;

    font-size: 12px;
    line-height: 1;
    font-weight: 500;

    letter-spacing: 0.3em;
}

.gd-oral-esthetic-content {
    padding: 52px 45px 35px;
}

.gd-oral-esthetic-content > h4 {
    margin: 0 0 38px;

    color: #263841;

    font-size: 24px;
    line-height: 1.6;
    font-weight: 500;

    letter-spacing: -0.04em;
}

.gd-oral-esthetic-content > h4 strong {
    color: #f36a21;
    font-weight: 700;
}


/* =========================================================
   심미보철 종류
========================================================= */

.gd-oral-treatment-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid #e4ddd7;
     border-bottom: 1px solid #e4ddd7;
}

.gd-oral-treatment {
    padding: 30px 15px 36px;

    text-align: center;

    border-right: 1px solid #e4ddd7;
}

.gd-oral-treatment:last-child {
    border-right: 0;
}

.gd-oral-treatment > span {
    display: block;

    margin-bottom: 12px;

    color: #f36a21;

    font-size: 12px;
    font-weight: 700;
}

.gd-oral-treatment img {
    width: auto;
    max-width: 130px;
    max-height: 130px;
    height: auto;

    margin: 15px auto 20px;

    object-fit: contain;
}

.gd-oral-treatment strong {
    display: block;

    margin-bottom: 8px;

    color: #1c2b33;

    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
}

.gd-oral-treatment p {
    margin: 0;

    color: #849098;

    font-size: 13px;
    line-height: 1.5;
}


/* =========================================================
   CASE GRID
========================================================= */

.gd-oral-case-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);

    margin-top: 60px;

    border-top: 1px solid #e5e7e8;
    border-bottom: 1px solid #e5e7e8;
}

.gd-oral-case {
    padding: 40px 18px;

    text-align: center;

    border-right: 1px solid #e5e7e8;
}

.gd-oral-case:last-child {
    border-right: 0;
}

.gd-oral-case span {
    display: block;

    margin-bottom: 16px;

    color: #f36a21;

    font-size: 14px;
    font-weight: 700;
}

.gd-oral-case img {
    width: auto;
    max-width: 130px;
    max-height: 130px;
    height: auto;

    margin: 15px auto 20px;

    object-fit: contain;
}

.gd-oral-case p {
    margin: 0;

    color: #3c4b54;

    font-size: 16px;
    line-height: 1.65;
}


/* =========================================================
   TMJ SYMPTOM
========================================================= */

.gd-oral-symptom {
    margin-top: 55px;
}

.gd-oral-symptom > h3 {
    margin: 0 0 34px;

    color: #25363f;

    font-size: 28px;
    line-height: 1.5;
}

.gd-oral-symptom > h3 strong {
    color: #f36a21;
}

.gd-oral-symptom-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);

    border-top: 1px solid #e1e4e6;
    border-bottom: 1px solid #e1e4e6;
}

.gd-oral-symptom-grid > div {
    padding: 34px 16px;

    text-align: center;

    border-right: 1px solid #e1e4e6;
}

.gd-oral-symptom-grid > div:last-child {
    border-right: 0;
}

.gd-oral-symptom-grid span {
    display: block;

    margin-bottom: 14px;

    color: #f36a21;

    font-size: 14px;
    font-weight: 700;
}

.gd-oral-symptom-grid img {
    width: auto;
    max-width: 120px;
    max-height: 120px;
    height: auto;

    margin: 15px auto 20px;

    object-fit: contain;
}

.gd-oral-symptom-grid p {
    margin: 0;

    color: #3f4e57;

    font-size: 16px;
    line-height: 1.65;
}


/* =========================================================
   TMJ TREATMENT
========================================================= */

.gd-oral-treatment-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    margin-top: 65px;

    border-top: 1px solid #dfe3e5;
    border-bottom: 1px solid #dfe3e5;
}

.gd-oral-treatment-card {
    padding: 45px;

    border-right: 1px solid #dfe3e5;
}

.gd-oral-treatment-card:last-child {
    border-right: 0;
}

.gd-oral-treatment-card > span {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    margin-bottom: 25px;

    color: #fff;
    background: #f36a21;

    border-radius: 50%;

    font-size: 14px;
    font-weight: 700;
}

.gd-oral-treatment-card h4 {
    margin: 0 0 16px;

    color: #18262e;

    font-size: 24px;
    line-height: 1.4;
}

.gd-oral-treatment-card img {
    width: 100%;
    height: auto;

    margin: 5px 0 22px;

    object-fit: contain;
}

.gd-oral-treatment-card p {
    margin: 0;

    color: #69767d;

    font-size: 16px;
    line-height: 1.8;
}


/* =========================================================
   DENTAL TRAUMA
========================================================= */

.gd-oral-trauma {
    display: grid;

    grid-template-columns:
        minmax(0, 0.75fr)
        minmax(0, 1.25fr);

    margin-top: 55px;

    background: #fbf7f2;
}

.gd-oral-trauma-title {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 55px;

    border-right: 1px solid #eadfd6;
}

.gd-oral-trauma-title > span {
    margin-bottom: 18px;

    color: #f36a21;

    font-size: 15px;
    font-weight: 700;
}

.gd-oral-trauma-title h3 {
    margin: 0;

    color: #1c2b33;

    font-size: 35px;
    line-height: 1.45;
}

.gd-oral-trauma-title h3 strong {
    color: #f36a21;
}

.gd-oral-trauma-list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}

.gd-oral-trauma-list > div {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 40px 17px;

    text-align: center;

    border-right: 1px solid #eadfd6;
}

.gd-oral-trauma-list > div:last-child {
    border-right: 0;
}

.gd-oral-trauma-list span {
    display: block;

    margin-bottom: 13px;

    color: #f36a21;

    font-size: 14px;
    font-weight: 700;
}

.gd-oral-trauma-list img {
    width: auto;
    max-width: 120px;
    max-height: 120px;
    height: auto;

    margin: 15px auto 20px;

    object-fit: contain;
}

.gd-oral-trauma-list p {
    margin: 0;

    color: #404e56;

    font-size: 15px;
    line-height: 1.6;
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 1200px) {

    .gd-oral-inner {
        width: calc(100% - 60px);
    }

    .gd-oral-top-split,
    .gd-oral-split {
        gap: 50px;
    }

    .gd-oral-heading h2 {
        font-size: 43px;
    }

    .gd-oral-copy h2 {
        font-size: 40px;
    }

    .gd-oral-top-image,
    .gd-oral-split-image {
        height: 430px;
    }

    .gd-oral-esthetic-title {
        padding: 45px 40px;
    }

    .gd-oral-esthetic-title h3 {
        font-size: 43px;
    }

}


/* =========================================================
   TABLET SMALL
========================================================= */

@media screen and (max-width: 960px) {

    .gd-oral-visual {
        height: 570px;
    }

    .gd-oral-visual-copy {
        width: 65%;
    }

    .gd-oral-visual-copy h1 {
        font-size: 50px;
    }

    .gd-oral-visual-copy h2 {
        font-size: 30px;
    }

    .gd-oral-section {
        padding: 95px 0;
    }

    .gd-oral-top-split,
    .gd-oral-split {
        grid-template-columns: 1fr 1fr;
        gap: 35px;
    }

    .gd-oral-heading-num strong {
        font-size: 43px;
    }

    .gd-oral-heading h2 {
        font-size: 38px;
    }

    .gd-oral-heading h3 {
        font-size: 22px;
    }

    .gd-oral-heading p {
        font-size: 17px;
    }

    .gd-oral-copy h2 {
        font-size: 36px;
    }

    .gd-oral-top-image,
    .gd-oral-split-image {
        height: 380px;
    }

    .gd-oral-feature-title,
    .gd-oral-feature-text {
        padding: 40px;
    }


    /* 심미보철 */

    .gd-oral-esthetic-box {
        grid-template-columns: 0.9fr 1.1fr;
    }

    .gd-oral-esthetic-title {
        padding: 40px 30px;
    }

    .gd-oral-esthetic-title h3 {
        font-size: 39px;
    }

    .gd-oral-esthetic-content {
        padding: 40px 30px 0;
    }

    .gd-oral-esthetic-content > h4 {
        font-size: 21px;
    }

    .gd-oral-treatment {
        padding: 27px 10px 30px;
    }

    .gd-oral-treatment-card {
        padding: 35px 25px;
    }

    .gd-oral-trauma {
        grid-template-columns: 1fr;
    }

    .gd-oral-trauma-title {
        border-right: 0;
        border-bottom: 1px solid #eadfd6;
    }

}


/* =========================================================
   MOBILE
   순서 :
   제목
   ↓
   이미지
   ↓
   설명
   ↓
   체크리스트
========================================================= */

@media screen and (max-width: 767px) {

    .gd-oral-inner {
        width: calc(100% - 36px);
    }


    /* =====================================================
       MAIN VISUAL
    ===================================================== */

    .gd-oral-visual {
        height: 520px;
    }

    .gd-oral-visual-bg {
        background-position: 67% center;
    }

    .gd-oral-visual-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(19, 32, 40, 0.88) 0%,
                rgba(19, 32, 40, 0.70) 55%,
                rgba(19, 32, 40, 0.20) 100%
            );
    }

    .gd-oral-visual-copy {
        width: 88%;
    }

    .gd-oral-eyebrow {
        margin-bottom: 15px;
        font-size: 12px;
    }

    .gd-oral-visual-copy h1 {
        margin-bottom: 24px;
        font-size: 39px;
    }

    .gd-oral-visual-copy h2 {
        margin-bottom: 23px;
        font-size: 25px;
    }

    .gd-oral-visual-copy p {
        font-size: 15px;
        line-height: 1.8;
    }


    /* =====================================================
       SECTION
    ===================================================== */

    .gd-oral-section {
        padding: 75px 0;
    }


    /* =====================================================
       TOP SPLIT
       제목 → 이미지 → 설명
    ===================================================== */

    .gd-oral-top-split {
        display: flex;
        flex-direction: column;
        align-items: stretch;

        width: 100%;
        gap: 0;
    }

    /*
       heading 안에 있는 제목과 설명 사이에
       이미지를 넣기 위해 contents 사용
    */
    .gd-oral-top-split > .gd-oral-heading {
        display: contents;
    }

    .gd-oral-top-split .gd-oral-heading-num {
        order: 1;

        width: 100%;
        margin-bottom: 20px;
    }

    .gd-oral-top-split .gd-oral-heading > h2 {
        order: 2;

        width: 100%;
        margin: 0 0 18px;

        font-size: 33px;
    }

    .gd-oral-top-split .gd-oral-heading > h3 {
        order: 3;

        width: 100%;
        margin: 0 0 25px;

        font-size: 20px;
    }


    /*
       이미지
    */
    .gd-oral-top-split > .gd-oral-top-image {
        order: 4;

        width: 100%;
        height: auto;

        margin: 0 0 25px;

        overflow: visible;
    }

    .gd-oral-top-split > .gd-oral-top-image img {
        width: 100%;
        max-width: 100%;
        height: auto;

        margin: 0;

        object-fit: contain;
    }


    /*
       설명은 반드시 이미지 아래
    */
    .gd-oral-top-split .gd-oral-heading > p {
        order: 5;

        width: 100%;
        margin: 0;

        font-size: 16px;
        line-height: 1.85;
    }


    /* =====================================================
       NORMAL SPLIT
       제목 → 이미지 → 설명 → 체크리스트
    ===================================================== */

    .gd-oral-split {
        display: flex;
        flex-direction: column;
        align-items: stretch;

        width: 100%;
        gap: 0;
    }

    /*
       copy 안쪽의 제목 / 설명을
       split의 flex item으로 사용
    */
    .gd-oral-split > .gd-oral-copy {
        display: contents;
    }


    /* 영문 */
    .gd-oral-split .gd-oral-small-eng {
        order: 1;

        width: 100%;

        margin: 0 0 14px;
    }


    /* 메인 제목 */
    .gd-oral-split .gd-oral-copy > h2 {
        order: 2;

        width: 100%;

        margin: 0 0 22px;

        font-size: 32px;
        line-height: 1.45;
    }


    /*
       턱관절 치료처럼 h3가 있는 경우
       h3까지 제목으로 보고 이미지 위에 표시
    */
    .gd-oral-split .gd-oral-copy > h3 {
        order: 3;

        width: 100%;

        margin: 0 0 24px;

        font-size: 20px;
        line-height: 1.6;
    }


    /*
       이미지 - 제목 바로 다음
    */
    .gd-oral-split > .gd-oral-split-image {
        order: 4;

        width: 100%;
        max-width: 100%;
        height: auto;

        margin: 0 0 25px;

        overflow: visible;
    }

    .gd-oral-split > .gd-oral-split-image img {
        display: block;

        width: 100%;
        max-width: 100%;
        height: auto;

        margin: 0 auto;

        object-fit: contain;
    }


    /*
       설명 - 이미지 바로 밑
    */
    .gd-oral-split .gd-oral-copy > p {
        order: 5;

        width: 100%;

        margin: 0 0 24px;

        color: #69767d;

        font-size: 16px;
        line-height: 1.9;
    }


    /*
       체크리스트 - 설명 다음
    */
    .gd-oral-split .gd-oral-copy > .gd-oral-check {
        order: 6;

        width: 100%;

        margin: 0;
        padding: 0;
    }

    .gd-oral-check li {
        margin: 14px 0;
        padding-left: 31px;

        font-size: 16px;
        line-height: 1.65;
    }


    /* =====================================================
       당일 발치
    ===================================================== */

    .gd-oral-feature {
        grid-template-columns: 1fr;

        margin-top: 40px;
    }

    .gd-oral-feature-title,
    .gd-oral-feature-text {
        padding: 32px 25px;
    }

    .gd-oral-feature-title {
        border-right: 0;
        border-bottom: 1px solid #eadfd6;
    }

    .gd-oral-feature-title h3 {
        font-size: 26px;
    }

    .gd-oral-feature-title h3 strong {
        font-size: 38px;
    }

    .gd-oral-feature-text h4 {
        font-size: 23px;
    }


    /* =====================================================
       맞춤 심미보철
    ===================================================== */

    .gd-oral-esthetic-box {
        grid-template-columns: 1fr;

        margin-top: 40px;
    }

    .gd-oral-esthetic-title {
        padding: 32px 25px;

        border-right: 0;
        border-bottom: 1px solid #eadfd6;
    }

    .gd-oral-esthetic-label {
        margin-bottom: 20px;
        font-size: 12px;
    }

    .gd-oral-esthetic-title h3 {
        font-size: 33px;
    }

    .gd-oral-esthetic-eng {
        margin-top: 17px;
        font-size: 10px;
    }

    .gd-oral-esthetic-content {
        padding: 30px 25px 25px;
    }

    .gd-oral-esthetic-content > h4 {
        margin-bottom: 28px;
        font-size: 19px;
    }


    /* =====================================================
       맞춤 심미보철 이미지
       모바일 한 줄 1개
    ===================================================== */

    .gd-oral-treatment-grid {
        grid-template-columns: 1fr;

        border-top: 1px solid #e4ddd7;
    }

    .gd-oral-treatment {
        width: 100%;

        padding: 28px 15px;

        border-right: 0;
        border-bottom: 1px solid #e4ddd7;
    }

    .gd-oral-treatment:last-child {
        border-bottom: 0;
    }

    .gd-oral-treatment img {
        width: auto;
        max-width: 150px;
        max-height: 150px;
        height: auto;

        margin: 15px auto 20px;

        object-fit: contain;
    }

    .gd-oral-treatment strong {
        font-size: 18px;
    }

    .gd-oral-treatment p {
        font-size: 14px;
    }


    /* =====================================================
       심미보철 대상
       번호 → 이미지 → 설명
    ===================================================== */

    .gd-oral-case-grid {
        grid-template-columns: 1fr;

        margin-top: 40px;
    }

    .gd-oral-case {
        display: block;

        width: 100%;

        padding: 28px 15px;

        text-align: center;

        border-right: 0;
        border-bottom: 1px solid #e5e7e8;
    }

    .gd-oral-case:last-child {
        border-bottom: 0;
    }

    .gd-oral-case span {
        display: block;

        margin: 0 0 10px;
    }

    .gd-oral-case img {
        display: block;

        width: auto;
        max-width: 150px;
        max-height: 150px;
        height: auto;

        margin: 10px auto 20px;

        object-fit: contain;
    }

    .gd-oral-case p {
        margin: 0;

        text-align: center;

        font-size: 15px;
        line-height: 1.65;
    }


    /* =====================================================
       턱관절 증상
       번호 → 이미지 → 설명
    ===================================================== */

    .gd-oral-symptom {
        margin-top: 40px;
    }

    .gd-oral-symptom > h3 {
        font-size: 22px;
    }

    .gd-oral-symptom-grid {
        grid-template-columns: 1fr;
    }

    .gd-oral-symptom-grid > div {
        display: block;

        width: 100%;

        padding: 28px 15px;

        text-align: center;

        border-right: 0;
        border-bottom: 1px solid #e1e4e6;
    }

    .gd-oral-symptom-grid > div:last-child {
        border-bottom: 0;
    }

    .gd-oral-symptom-grid span {
        display: block;

        margin: 0 0 10px;
    }

    .gd-oral-symptom-grid img {
        display: block;

        width: auto;
        max-width: 150px;
        max-height: 150px;
        height: auto;

        margin: 10px auto 20px;

        object-fit: contain;
    }

    .gd-oral-symptom-grid p {
        margin: 0;

        text-align: center;

        font-size: 15px;
        line-height: 1.65;
    }


    /* =====================================================
       턱관절 치료
       이미지 밑 설명
    ===================================================== */

    .gd-oral-treatment-card-grid {
        grid-template-columns: 1fr;

        margin-top: 40px;
    }

    .gd-oral-treatment-card {
        padding: 30px 0;

        border-right: 0;
        border-bottom: 1px solid #dfe3e5;
    }

    .gd-oral-treatment-card:last-child {
        border-bottom: 0;
    }

    .gd-oral-treatment-card img {
        width: 100%;
        height: auto;

        margin: 5px 0 20px;

        object-fit: contain;
    }

    .gd-oral-treatment-card p {
        font-size: 15px;
        line-height: 1.8;
    }


    /* =====================================================
       치아외상
       번호 → 이미지 → 설명
    ===================================================== */

    .gd-oral-trauma {
        grid-template-columns: 1fr;

        margin-top: 40px;
    }

    .gd-oral-trauma-title {
        padding: 32px 25px;

        border-right: 0;
        border-bottom: 1px solid #eadfd6;
    }

    .gd-oral-trauma-title h3 {
        font-size: 28px;
    }

    .gd-oral-trauma-list {
        grid-template-columns: 1fr;
    }

    .gd-oral-trauma-list > div {
        display: block;

        width: 100%;

        padding: 28px 15px;

        text-align: center;

        border-right: 0;
        border-bottom: 1px solid #eadfd6;
    }

    .gd-oral-trauma-list > div:last-child {
        border-bottom: 0;
    }

    .gd-oral-trauma-list span {
        display: block;

        margin: 0 0 10px;
    }

    .gd-oral-trauma-list img {
        display: block;

        width: auto;
        max-width: 150px;
        max-height: 150px;
        height: auto;

        margin: 10px auto 20px;

        object-fit: contain;
    }

    .gd-oral-trauma-list p {
        margin: 0;

        text-align: center;

        font-size: 15px;
        line-height: 1.65;
    }

}


/* =========================================================
   MOBILE SMALL
========================================================= */

@media screen and (max-width: 480px) {

    .gd-oral-inner {
        width: calc(100% - 30px);
    }

    .gd-oral-visual {
        height: 480px;
    }

    .gd-oral-visual-copy {
        width: 94%;
    }

    .gd-oral-visual-copy h1 {
        font-size: 34px;
    }

    .gd-oral-visual-copy h2 {
        font-size: 22px;
    }

    .gd-oral-visual-copy p br {
        display: none;
    }

    .gd-oral-section {
        padding: 62px 0;
    }


    /* TOP 영역 */

    .gd-oral-top-split .gd-oral-heading-num strong {
        font-size: 36px;
    }

    .gd-oral-top-split .gd-oral-heading > h2 {
        font-size: 29px;
    }

    .gd-oral-top-split .gd-oral-heading > h3 {
        font-size: 18px;
    }

    .gd-oral-top-split .gd-oral-heading > p {
        font-size: 15px;
    }


    /* 일반 SPLIT */

    .gd-oral-split .gd-oral-copy > h2 {
        font-size: 29px;
    }

    .gd-oral-split .gd-oral-copy > h3 {
        font-size: 18px;
    }

    .gd-oral-split .gd-oral-copy > p {
        font-size: 15px;
    }


    /* 심미보철 */

    .gd-oral-esthetic-title h3 {
        font-size: 29px;
    }

    .gd-oral-esthetic-content > h4 {
        font-size: 18px;
    }

    .gd-oral-feature-title h3 strong {
        font-size: 35px;
    }


    /* 새 이미지 */

    .gd-oral-treatment img,
    .gd-oral-case img,
    .gd-oral-symptom-grid img,
    .gd-oral-trauma-list img {
        max-width: 135px;
        max-height: 135px;
    }

}




/* ==================================================
   대표원장 소개
================================================== */

.grand-intro-wrap {
    width: 100%;
    background: #fff;
    font-family: "Pretendard", sans-serif;
    color: #222;
}


/* ==================================================
   상단 핵심 문구
================================================== */

.grand-intro-hero {
    width: 100%;
    padding: 70px 0 75px;

    background:
        linear-gradient(
            110deg,
            #26343d 0%,
            #35434c 55%,
            #566169 100%
        );

    box-sizing: border-box;
}

.grand-intro-hero-inner {
    width: calc(100% - 40px);
    max-width: 1240px;
    margin: 0 auto;
}


/* 작은 영문 */
.grand-intro-label {
    margin-bottom: 24px;

    font-size:15px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.12em;

    color: #f36b21;
}


/* 핵심 두 문장 */
.grand-intro-maintext {
    max-width: 1100px;
}

.grand-intro-maintext p {
    margin: 0 0 25px;

    font-size:30px;
    line-height: 1.55;
    font-weight: 700;
    letter-spacing: -0.045em;

    color: #fff;

    word-break: keep-all;
}

.grand-intro-maintext p:last-child {
    margin-bottom: 0;
}

.grand-intro-maintext strong {
    font-size:40px;
    font-weight: 800;

    color: #f36b21;
}


/* ==================================================
   본문
================================================== */

.grand-intro-content {
    width: calc(100% - 40px);
    max-width: 1240px;

    margin: 0 auto;
    padding: 85px 0 100px;

    box-sizing: border-box;
}


/* ==================================================
   원장명
================================================== */

.grand-intro-title {
    margin-bottom: 45px;
}

.grand-intro-title h2 {
    margin: 0 0 12px;

    font-size:50px;
    line-height: 1.15;

    font-weight: 800;
    letter-spacing: -0.055em;

    color: #f36b21;
}

.grand-intro-title h2 span {
    font-weight: 800;
}

.grand-intro-title h3 {
    margin: 0;

    font-size:26px;
    line-height: 1.4;

    font-weight: 700;
    letter-spacing: -0.035em;

    color: #111;
}


/* ==================================================
   인사말
================================================== */

.grand-intro-greeting {
    max-width: 1080px;
    margin-bottom: 55px;
}

.grand-intro-greeting p {
    margin: 0 0 12px;

    font-size:18px;
    line-height: 1.9;

    font-weight: 400;
    letter-spacing: -0.025em;

    color: #333;

    word-break: keep-all;
}

.grand-intro-greeting strong {
    color: #111;
    font-weight: 700;
}


/* ==================================================
   GRAND VISION

   PC
   왼쪽 2개 / 오른쪽 2개
================================================== */

.grand-vision {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    column-gap: 35px;
    row-gap: 30px;

    margin-bottom: 60px;
}


/* 각각의 박스 */
.grand-vision-item {
    display: flex;
    align-items: flex-start;

    gap: 18px;

    min-height: 175px;

    padding: 30px 32px;

    background: #f7f8f8;

    border-top: 3px solid #f36b21;

    box-sizing: border-box;

    transition: all .25s ease;
}

.grand-vision-item:hover {
    transform: translateY(-4px);

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.08);
}


/* 체크 */
.grand-vision-check {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 34px;

    width: 34px;
    height: 34px;

    border-radius: 50%;

    background: #f36b21;

    color: #fff;

    font-size:18px;
    font-weight: 800;

    line-height: 1;
}


/* 내용 */
.grand-vision-text {
    flex: 1;
}

.grand-vision-text h4 {
    margin: 2px 0 12px;

    font-size:22px;
    line-height: 1.4;

    font-weight: 800;
    letter-spacing: -0.035em;

    color: #222;
}

.grand-vision-text p {
    margin: 0;

    font-size:15px;
    line-height: 1.75;

    font-weight: 400;
    letter-spacing: -0.025em;

    color: #555;

    word-break: keep-all;
}


/* ==================================================
   마무리
================================================== */

.grand-intro-ending {
    max-width: 1000px;

    padding-top: 5px;
}

.grand-intro-ending p {
    margin: 0 0 8px;

    font-size:18px;
    line-height: 1.85;

    font-weight: 500;
    letter-spacing: -0.025em;

    color: #333;

    word-break: keep-all;
}


/* ==================================================
   TABLET
================================================== */

@media (max-width: 1024px) {

    .grand-intro-hero {
        padding: 60px 0;
    }

    .grand-intro-maintext p {
        font-size:26px;
    }

    .grand-intro-maintext strong {
        font-size:30px;
    }

    .grand-intro-content {
        padding: 65px 0 80px;
    }

    .grand-intro-title h2 {
        font-size:42px;
    }

    .grand-vision {
        column-gap: 20px;
        row-gap: 20px;
    }

    .grand-vision-item {
        padding: 25px;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 768px) {

    /* 상단 */
    .grand-intro-hero {
        padding: 42px 0 45px;
    }

    .grand-intro-hero-inner {
        width: calc(100% - 30px);
    }

    .grand-intro-label {
        margin-bottom: 18px;

        font-size: 12px;
    }

    .grand-intro-maintext p {
        margin-bottom: 20px;

        font-size:18px;
        line-height: 1.55;
    }

    .grand-intro-maintext strong {
        display: inline-block;

        margin-bottom: 2px;

        font-size:22px;
        line-height: 1.45;
    }


    /* 본문 */
    .grand-intro-content {
        width: calc(100% - 30px);

        padding: 50px 0 65px;
    }

    .grand-intro-title {
        margin-bottom: 30px;
    }

    .grand-intro-title h2 {
        margin-bottom: 7px;

        font-size:34px;
    }

    .grand-intro-title h3 {
        font-size:18px;
    }


    /* 인사말 */
    .grand-intro-greeting {
        margin-bottom: 35px;
    }

    .grand-intro-greeting p {
        font-size:15px;
        line-height: 1.8;
    }


    /* 체크박스
       모바일에서는 한 줄씩
    */
    .grand-vision {
        grid-template-columns: 1fr;

        gap: 15px;

        margin-bottom: 40px;
    }

    .grand-vision-item {
        min-height: auto;

        gap: 13px;

        padding: 22px 20px;
    }

    .grand-vision-check {
        flex-basis: 29px;

        width: 29px;
        height: 29px;

        font-size:15px;
    }

    .grand-vision-text h4 {
        margin-top: 1px;
        margin-bottom: 8px;

        font-size:18px;
    }

    .grand-vision-text p {
        font-size: 14px;
        line-height: 1.7;
    }


    /* 마무리 */
    .grand-intro-ending p {
        font-size:15px;
        line-height: 1.8;
    }

}


/* ==================================================
   SMALL MOBILE
================================================== */

@media (max-width: 480px) {

    .grand-intro-maintext p {
        font-size:15px;
    }

    .grand-intro-maintext strong {
        font-size:22px;
    }

    .grand-intro-title h2 {
        font-size:30px;
    }

}




/* =========================================================
   원주 그랜드치과병원 소개
   PPT 3 ~ 8
   namespace : .grand-intro-new
========================================================= */

.grand-intro-new,
.grand-intro-new * {
    box-sizing: border-box;
}

.grand-intro-new {
    --gi-orange: #f56822;
    --gi-orange-deep: #f25518;
    --gi-navy: #1d3447;
    --gi-text: #4d5c68;
    --gi-line: #e7e7e7;

    /* 365일 진료 / 프로필 영역 */
    --gi-warm: #fff7f0;
    --gi-warm2: #fbf4ee;

    font-family: "Pretendard", "Noto Sans KR", Arial, sans-serif;
    color: var(--gi-navy);
    word-break: keep-all;
}

.grand-intro-new img {
    display: block;
    width: 100%;
    height: auto;
}

.grand-intro-new .gi-container {
    width: min(1400px, calc(100% - 80px));
    margin: 0 auto;
}

.grand-intro-new .gi-section {
    padding: 105px 0;
}

.grand-intro-new .gi-eyebrow,
.grand-intro-new .gi-kicker {
    margin: 0 0 20px;
    color: var(--gi-orange);
    font-size:15px;
    font-weight: 700;
    letter-spacing: .28em;
}

.grand-intro-new .gi-kicker {
    color: #778792;
    letter-spacing: .24em;
}

.grand-intro-new h2,
.grand-intro-new h3,
.grand-intro-new h4,
.grand-intro-new p {
    margin-top: 0;
}

.grand-intro-new strong {
    font-weight: 800;
}


/* =========================================================
   PPT 3
   10년 동안, 한자리에서 지켜온 치과
========================================================= */

.grand-intro-new .gi-history {
    padding-top: 80px;
}

.grand-intro-new .gi-history-grid {
    position: relative;

    display: flex;
    align-items: stretch;

    width: 100%;
    min-height: 530px;

    overflow: hidden;

    /*
        병원 사진을 전체 배경으로 사용
        왼쪽은 진하게 / 오른쪽은 사진이 잘 보이도록
    */
    background:
        linear-gradient(
            90deg,
            rgba(45, 51, 55, 0.94) 0%,
            rgba(48, 54, 59, 0.91) 29%,
            rgba(53, 58, 62, 0.76) 43%,
            rgba(55, 60, 64, 0.48) 57%,
            rgba(55, 60, 64, 0.20) 72%,
            rgba(55, 60, 64, 0.04) 100%
        ),
        url("/theme/grand/img/grand_intro_03_building.png")
        center right / cover no-repeat;
}


/* 왼쪽 텍스트 */
.grand-intro-new .gi-history-copy {
    position: relative;
    z-index: 2;

    width: 52%;
    min-height: 530px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 68px 65px;

    color: #fff;
}


/* 은은한 장식 */
.grand-intro-new .gi-history-copy::after {
    content: "";

    position: absolute;
    right: -60px;
    top: -100px;

    width: 200px;
    height: 390px;

    border-radius: 50%;

    background: rgba(255, 255, 255, .07);

    filter: blur(10px);

    pointer-events: none;
}


.grand-intro-new .gi-history-copy .gi-eyebrow {
    position: relative;
    z-index: 2;

    color: var(--gi-orange);
}


.grand-intro-new .gi-history-copy h2 {
    position: relative;
    z-index: 2;

    margin-bottom: 28px;

    font-size:50px;
    line-height: 1.3;
    font-weight: 700;

    letter-spacing: -.045em;
}


.grand-intro-new .gi-history-copy .gi-lead {
    position: relative;
    z-index: 2;

    margin-bottom: 18px;

    font-size:22px;
    line-height: 1.65;
    font-weight: 600;

    color: #fff;
}


.grand-intro-new .gi-history-copy .gi-desc {
    position: relative;
    z-index: 2;

    margin-bottom: 0;

    color: rgba(255,255,255,.82);

    font-size:18px;
    line-height: 1.8;
}



/* =========================================================
   PPT 4
   365일 진료
========================================================= */

.grand-intro-new .gi-365 {
    background: var(--gi-warm);
}


/* 상단 영역 */
.grand-intro-new .gi-365-top {
    display: grid;
    grid-template-columns: .84fr 1.16fr;
    align-items: stretch;

    background: #fff;
}


.grand-intro-new .gi-365-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 65px 55px;
}


.grand-intro-new .gi-365-copy h2 {
    margin-bottom: 25px;

    color: var(--gi-navy);

    font-size:50px;
    line-height: 1.25;

    letter-spacing: -.045em;
}


.grand-intro-new .gi-365-copy h2 strong {
    display: inline-block;

    margin-top: 3px;

    color: var(--gi-orange);

    font-size:50px;
}


.grand-intro-new .gi-365-copy h3 {
    margin-bottom: 22px;

    font-size:26px;
    line-height: 1.5;
}


.grand-intro-new .gi-365-copy h3 strong {
    color: var(--gi-orange);
}


.grand-intro-new .gi-365-copy > p:last-child {
    margin-bottom: 0;

    color: var(--gi-text);

    font-size:18px;
    line-height: 1.85;
}


/* 오른쪽 이미지 */
.grand-intro-new .gi-365-image {
    overflow: hidden;
}


.grand-intro-new .gi-365-image img {
    width: 100%;
    height: 100%;

    min-height: 470px;

    object-fit: cover;
}


/* 365 하단 */
.grand-intro-new .gi-365-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;

    margin-top: 22px;

    background: #fffaf6;

    border: 1px solid #f1e6dd;
}


.grand-intro-new .gi-365-number,
.grand-intro-new .gi-365-message {
    padding: 52px 70px;
}


.grand-intro-new .gi-365-number {
    border-right: 1px solid #ebdfd5;
}


.grand-intro-new .gi-365-number h3,
.grand-intro-new .gi-365-message h3 {
    margin-bottom: 15px;

    font-size: 29px;
    line-height: 1.45;
}


.grand-intro-new .gi-big365 {
    display: flex;
    align-items: flex-end;

    gap: 16px;
}


.grand-intro-new .gi-big365 span {
    color: var(--gi-orange);

    font-size: 105px;
    line-height: .9;
    font-weight: 800;

    letter-spacing: -.07em;
}


.grand-intro-new .gi-big365 em {
    padding-bottom: 7px;

    color: var(--gi-orange);

    font-size:34px;
    line-height: 1.05;
    font-style: normal;
    font-weight: 800;
}


.grand-intro-new .gi-365-message h3 strong {
    color: var(--gi-orange);
}


.grand-intro-new .gi-365-message p {
    margin-bottom: 0;

    color: var(--gi-text);

    font-size:18px;
    line-height: 1.9;
}



/* =========================================================
   PPT 5
   신영진 대표원장 / 진료철학
========================================================= */

.grand-intro-new .gi-director-top {
    display: grid;

    grid-template-columns: .9fr 1.1fr;

    align-items: stretch;
}


.grand-intro-new .gi-director-copy {
    padding: 65px 45px 45px 15px;
}


.grand-intro-new .gi-director-copy h2 {
    margin-bottom: 4px;

    font-size:50px;
    line-height: 1.25;

    letter-spacing: -.045em;
}


.grand-intro-new .gi-director-copy h2 strong {
    color: var(--gi-orange);
}


.grand-intro-new .gi-director-copy h3 {
    margin-bottom: 35px;

    font-size:30px;
    line-height: 1.4;
}


.grand-intro-new .gi-director-highlight {
    margin-bottom: 22px;

    color: var(--gi-orange);

    font-size:22px;
    line-height: 1.45;
    font-weight: 800;
}


.grand-intro-new .gi-director-desc {
    margin-bottom: 0;

    color: var(--gi-text);

    font-size:18px;
    line-height: 1.9;
}


/* 원장 사진 */
.grand-intro-new .gi-director-image {
    overflow: hidden;
}


.grand-intro-new .gi-director-image img {
    width: 100%;
    height: 100%;

    min-height: 470px;

    object-fit: cover;
}


/* 진료 철학 4개 */
.grand-intro-new .gi-values {
    display: grid;
    grid-template-columns: repeat(2, 1fr);

    gap: 20px 28px;

    margin-top: 28px;
}


.grand-intro-new .gi-value-card {
    display: flex;

    gap: 22px;

    min-height: 160px;

    padding: 30px 32px;

    background:
        linear-gradient(
            180deg,
            #fff 0%,
            #fbfbfb 100%
        );

    border-top: 3px solid var(--gi-orange);
    border-bottom: 1px solid #efefef;
}


.grand-intro-new .gi-check {
    flex: 0 0 38px;

    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    margin-top: 1px;

    border-radius: 50%;

    color: #fff;
    background: var(--gi-orange);

    font-size:22px;
    font-weight: 800;
}


.grand-intro-new .gi-value-card h4 {
    margin-bottom: 12px;
    padding-bottom: 11px;

    border-bottom: 1px solid #dedede;

    font-size:22px;
    line-height: 1.4;
}


.grand-intro-new .gi-value-card p {
    margin-bottom: 0;

    color: var(--gi-text);

    font-size: 15.5px;
    line-height: 1.8;
}



/* =========================================================
   PPT 6
   대표원장 이력
========================================================= */

.grand-intro-new .gi-profile {
    background: var(--gi-warm2);
}


.grand-intro-new .gi-profile-box {
    display: grid;

    grid-template-columns: .95fr 1.05fr;

    align-items: center;

    gap: 70px;

    padding: 58px;

    background: #fffaf6;
}


.grand-intro-new .gi-profile-photo {
    overflow: hidden;
}


.grand-intro-new .gi-profile-photo img {
    width: 100%;

    max-height: 690px;

    object-fit: cover;
    object-position: center top;
}


.grand-intro-new .gi-profile-content h2 {
    margin-bottom: 32px;

    color: #111;

    font-size:42px;
    line-height: 1.2;

    letter-spacing: -.04em;
}


.grand-intro-new .gi-career-list {
    display: grid;

    gap: 12px;

    margin: 0;
    padding: 0;

    list-style: none;
}


.grand-intro-new .gi-career-list li {
    position: relative;

    padding-left: 30px;

    color: #202a31;

    font-size:18px;
    line-height: 1.6;
    font-weight: 600;
}


.grand-intro-new .gi-career-list li::before {
    content: "✓";

    position: absolute;
    left: 0;
    top: 0;

    color: var(--gi-orange);

    font-size:18px;
    font-weight: 900;
}



/* =========================================================
   PPT 7
   원장 인터뷰
========================================================= */

.grand-intro-new .gi-interview {
    background: #fff;
}


.grand-intro-new .gi-section-head {
    margin-bottom: 32px;
}


.grand-intro-new .gi-section-head h2 {
    margin-bottom: 0;

    color: #111;

    font-size:50px;
    line-height: 1.2;

    letter-spacing: -.045em;
}


.grand-intro-new .gi-video {
    position: relative;

    overflow: hidden;

    width: 100%;

    aspect-ratio: 16 / 9;

    background: #111;
}


.grand-intro-new .gi-video iframe {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;
}



/* =========================================================
   PPT 8
   구강외과 · 교정과 전문의 개별 진료 시스템
========================================================= */

.grand-intro-new .gi-specialist {
    padding-top: 80px;
}


.grand-intro-new .gi-specialist-top {
    display: grid;

    grid-template-columns: .92fr 1.08fr;

    align-items: stretch;
}


.grand-intro-new .gi-specialist-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 45px 50px 45px 15px;
}


.grand-intro-new .gi-specialist-copy h2 {
    margin-bottom: 28px;

    font-size:50px;
    line-height: 1.3;

    letter-spacing: -.045em;
}


.grand-intro-new .gi-specialist-copy h2 strong {
    color: var(--gi-orange);
}


.grand-intro-new .gi-specialist-copy h3 {
    margin-bottom: 22px;

    font-size:26px;
    line-height: 1.55;
}


.grand-intro-new .gi-specialist-copy h3 strong {
    color: var(--gi-orange);
}


.grand-intro-new .gi-specialist-copy > p:last-child {
    margin-bottom: 0;

    color: #7b868d;

    font-size:18px;
    line-height: 1.85;
}


/* 전문의 이미지 */
.grand-intro-new .gi-specialist-image {
    overflow: hidden;
}


.grand-intro-new .gi-specialist-image img {
    width: 100%;
    height: 100%;

    min-height: 430px;

    object-fit: cover;
}


/* 전문의 진료 카드 */
.grand-intro-new .gi-specialist-cards {
    display: grid;

    grid-template-columns: 1fr 1fr;

    margin-top: 18px;

    background: #fffaf6;

    border: 1px solid #f1e7df;
}


.grand-intro-new .gi-specialist-card {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 25px;

    min-height: 210px;

    padding: 38px 58px;
}


.grand-intro-new .gi-specialist-card + .gi-specialist-card {
    border-left: 1px solid #eadfd6;
}


.grand-intro-new .gi-specialist-card .gi-eyebrow {
    margin-bottom: 10px;
}


.grand-intro-new .gi-specialist-card h3 {
    margin-bottom: 6px;

    font-size:26px;
    line-height: 1.4;
}


.grand-intro-new .gi-specialist-card strong {
    display: block;

    color: var(--gi-orange);

    font-size:40px;
    line-height: 1.2;

    letter-spacing: -.04em;
}


/* 아이콘 */
.grand-intro-new .gi-spec-icon {
    flex: 0 0 100px;

    width: 100px;
    height: 100px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #fff1e5;
}


.grand-intro-new .gi-spec-icon svg {
    width: 72px;
    height: 72px;

    fill: none;

    stroke: var(--gi-orange);
    stroke-width: 3.1;

    stroke-linecap: round;
    stroke-linejoin: round;
}



/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .grand-intro-new .gi-container {
        width: min(100% - 48px, 1200px);
    }


    .grand-intro-new .gi-section {
        padding: 80px 0;
    }


    /* history */
    .grand-intro-new .gi-history-grid {
        min-height: 480px;
    }


    .grand-intro-new .gi-history-copy {
        width: 56%;
        min-height: 480px;

        padding: 55px 40px;
    }


    .grand-intro-new .gi-history-copy h2,
    .grand-intro-new .gi-director-copy h2,
    .grand-intro-new .gi-specialist-copy h2 {
        font-size:40px;
    }


    /* 365 */
    .grand-intro-new .gi-365-copy h2 {
        font-size:40px;
    }


    .grand-intro-new .gi-365-copy h2 strong {
        font-size:50px;
    }


    /* profile */
    .grand-intro-new .gi-profile-box {
        gap: 40px;

        padding: 42px;
    }


    /* specialist */
    .grand-intro-new .gi-specialist-card {
        padding: 32px 35px;
    }


    .grand-intro-new .gi-specialist-card strong {
        font-size:30px;
    }

}



/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .grand-intro-new .gi-container {
        width: calc(100% - 32px);
    }


    .grand-intro-new .gi-section,
    .grand-intro-new .gi-history,
    .grand-intro-new .gi-specialist {
        padding: 58px 0;
    }


    .grand-intro-new .gi-eyebrow,
    .grand-intro-new .gi-kicker {
        margin-bottom: 13px;

        font-size: 11px;

        letter-spacing: .19em;
    }



    /* =====================================================
       PPT 3 MOBILE
    ===================================================== */

    .grand-intro-new .gi-history-grid {
        min-height: 450px;

        /*
           모바일은 중앙 사진이 잘 보이면서
           전체적으로 어두운 오버레이 적용
        */
        background:
            linear-gradient(
                180deg,
                rgba(40, 46, 50, .84) 0%,
                rgba(44, 50, 54, .78) 45%,
                rgba(44, 50, 54, .58) 100%
            ),
            url("/theme/grand/img/grand_intro_03_building.png")
            center center / cover no-repeat;
    }


    .grand-intro-new .gi-history-copy {
        width: 100%;
        min-height: 450px;

        padding: 45px 28px;
    }


    .grand-intro-new .gi-history-copy::after {
        display: none;
    }


    .grand-intro-new .gi-history-copy h2 {
        margin-bottom: 20px;

        font-size:30px;
        line-height: 1.35;
    }


    .grand-intro-new .gi-history-copy .gi-lead {
        margin-bottom: 15px;

        font-size:18px;
        line-height: 1.6;
    }


    .grand-intro-new .gi-history-copy .gi-desc {
        font-size: 14px;
        line-height: 1.75;
    }



    /* =====================================================
       PPT 4 MOBILE
    ===================================================== */

    .grand-intro-new .gi-365-top,
    .grand-intro-new .gi-365-bottom {
        grid-template-columns: 1fr;
    }


    .grand-intro-new .gi-365-copy {
        padding: 42px 28px 38px;
    }


    .grand-intro-new .gi-365-copy h2 {
        margin-bottom: 19px;

        font-size:30px;
    }


    .grand-intro-new .gi-365-copy h2 strong {
        font-size:40px;
    }


    .grand-intro-new .gi-365-copy h3 {
        font-size:18px;
    }


    .grand-intro-new .gi-365-copy > p:last-child {
        font-size:15px;
        line-height: 1.75;
    }


    .grand-intro-new .gi-365-image img {
        min-height: 0;
        height: auto;
    }


    .grand-intro-new .gi-365-number,
    .grand-intro-new .gi-365-message {
        padding: 34px 28px;
    }


    .grand-intro-new .gi-365-number {
        border-right: 0;

        border-bottom: 1px solid #ebdfd5;
    }


    .grand-intro-new .gi-365-number h3,
    .grand-intro-new .gi-365-message h3 {
        font-size: 22px;
    }


    .grand-intro-new .gi-big365 span {
        font-size:60px;
    }


    .grand-intro-new .gi-big365 em {
        font-size:26px;
    }


    .grand-intro-new .gi-365-message p {
        font-size:15px;
        line-height: 1.8;
    }



    /* =====================================================
       PPT 5 MOBILE
    ===================================================== */

    .grand-intro-new .gi-director-top {
        grid-template-columns: 1fr;
    }


    .grand-intro-new .gi-director-copy {
        padding: 0 0 32px;
    }


    .grand-intro-new .gi-director-copy h2 {
        font-size:30px;
    }


    .grand-intro-new .gi-director-copy h3 {
        margin-bottom: 23px;

        font-size:22px;
    }


    .grand-intro-new .gi-director-highlight {
        font-size:18px;
    }


    .grand-intro-new .gi-director-desc {
        font-size:15px;
        line-height: 1.8;
    }


    .grand-intro-new .gi-director-image img {
        min-height: 0;
        height: auto;
    }


    .grand-intro-new .gi-values {
        grid-template-columns: 1fr;

        gap: 14px;

        margin-top: 18px;
    }


    .grand-intro-new .gi-value-card {
        min-height: 0;

        padding: 24px 22px;

        gap: 15px;
    }


    .grand-intro-new .gi-check {
        flex-basis: 38px;

        width: 38px;
        height: 31px;

        font-size:18px;
    }


    .grand-intro-new .gi-value-card h4 {
        font-size:18px;
    }


    .grand-intro-new .gi-value-card p {
        font-size: 14px;
    }



    /* =====================================================
       PPT 6 MOBILE
    ===================================================== */

    .grand-intro-new .gi-profile-box {
        grid-template-columns: 1fr;

        gap: 30px;

        padding: 26px 20px 34px;
    }


    .grand-intro-new .gi-profile-photo img {
        max-height: none;
    }


    .grand-intro-new .gi-profile-content h2 {
        margin-bottom: 22px;

        font-size:30px;
    }


    .grand-intro-new .gi-career-list {
        gap: 9px;
    }


    .grand-intro-new .gi-career-list li {
        padding-left: 25px;

        font-size: 14px;
        line-height: 1.55;
    }



    /* =====================================================
       PPT 7 MOBILE
    ===================================================== */

    .grand-intro-new .gi-section-head {
        margin-bottom: 22px;
    }


    .grand-intro-new .gi-section-head h2 {
        font-size:30px;
    }



    /* =====================================================
       PPT 8 MOBILE
    ===================================================== */

    .grand-intro-new .gi-specialist-top {
        grid-template-columns: 1fr;
    }


    .grand-intro-new .gi-specialist-copy {
        padding: 0 0 30px;
    }


    .grand-intro-new .gi-specialist-copy h2 {
        margin-bottom: 20px;

        font-size:30px;
    }


    .grand-intro-new .gi-specialist-copy h3 {
        font-size:18px;
    }


    .grand-intro-new .gi-specialist-copy > p:last-child {
        font-size: 14px;
        line-height: 1.75;
    }


    .grand-intro-new .gi-specialist-image img {
        min-height: 0;
        height: auto;
    }


    .grand-intro-new .gi-specialist-cards {
        grid-template-columns: 1fr;
    }


    .grand-intro-new .gi-specialist-card {
        min-height: 0;

        padding: 28px 22px;
    }


    .grand-intro-new .gi-specialist-card + .gi-specialist-card {
        border-left: 0;

        border-top: 1px solid #eadfd6;
    }


    .grand-intro-new .gi-specialist-card h3 {
        font-size:18px;
    }


    .grand-intro-new .gi-specialist-card strong {
        font-size:26px;
    }


    .grand-intro-new .gi-spec-icon {
        flex-basis: 72px;

        width: 72px;
        height: 72px;
    }


    .grand-intro-new .gi-spec-icon svg {
        width: 52px;
        height: 52px;
    }

}



/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .grand-intro-new .gi-container {
        width: calc(100% - 24px);
    }


    /* history */
    .grand-intro-new .gi-history-grid {
        min-height: 420px;
    }


    .grand-intro-new .gi-history-copy {
        min-height: 420px;

        padding: 38px 22px;
    }


    .grand-intro-new .gi-history-copy h2 {
        font-size:26px;
    }


    .grand-intro-new .gi-history-copy .gi-lead {
        font-size:18px;
    }


    /* 365 */
    .grand-intro-new .gi-365-copy,
    .grand-intro-new .gi-365-number,
    .grand-intro-new .gi-365-message {
        padding-left: 22px;
        padding-right: 22px;
    }


    .grand-intro-new .gi-big365 span {
        font-size:60px;
    }


    /* specialist */
    .grand-intro-new .gi-specialist-card {
        gap: 14px;
    }


    .grand-intro-new .gi-specialist-card strong {
        font-size:26px;
    }

}

/* ==========================================================
   설명형 섹션 타이포그래피 최종 통일
   기준 : 구강외과진료 .gd-oral-heading (h2 / h3 / p)
   기존 구강외과 CSS 및 이미지/레이아웃은 변경하지 않음
========================================================== */

/* 01 번호와 영문 분류 */
.grand_implant_page .implant_text > em,
.grand_natural_page .natural_text > em {
  font-size: 50px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.05em;
}
.grand_implant_page .implant_text > p,
.grand_natural_page .natural_text > p {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .16em;
  color: #7c878d;
}

/* 큰 제목: 구강외과 h2와 동일 */
.grand_implant_page .implant_text > h3,
.grand_natural_page .natural_text > h3,
.grand_implant_page .implant_sec_title > h3,
.grand_natural_page .natural_sec_title > h3 {
  font-size: 50px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -.055em;
  color: #17252d;
}
/* 제목 안의 강조 strong에는 설명용 strong 스타일을 적용하지 않음 */
.grand_implant_page .implant_text > h3 strong,
.grand_natural_page .natural_text > h3 strong {
  display: inline;
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  font-weight: 700;
  color: #f36a21;
}

/* 굵은 설명 제목: 구강외과 h3와 동일 */
.grand_implant_page .implant_text > strong,
.grand_natural_page .natural_text > strong,
.grand_implant_page .implant_sec_title > strong,
.grand_natural_page .natural_sec_title > strong {
  display: block;
  font-size: 26px;
  line-height: 1.55;
  font-weight: 500;
  letter-spacing: -.04em;
  color: #263841;
}

/* 설명 본문: 구강외과 p와 동일 */
.grand_implant_page .implant_text > span,
.grand_natural_page .natural_text > span,
.grand_implant_page .implant_sec_title > span,
.grand_natural_page .natural_sec_title > span {
  display: block;
  font-size: 18px;
  line-height: 1.9;
  font-weight: 400;
  letter-spacing: -.025em;
  color: #6c7980;
}

/* 태블릿: 구강외과의 단계별 축소에 맞춤 */
@media (max-width: 767px) {
  .grand_implant_page .implant_text > em,
  .grand_natural_page .natural_text > em { font-size: 39px; }
  .grand_implant_page .implant_text > p,
  .grand_natural_page .natural_text > p { font-size: 10px; }
  .grand_implant_page .implant_text > h3,
  .grand_natural_page .natural_text > h3,
  .grand_implant_page .implant_sec_title > h3,
  .grand_natural_page .natural_sec_title > h3 { font-size: 33px; line-height: 1.3; }
  .grand_implant_page .implant_text > strong,
  .grand_natural_page .natural_text > strong,
  .grand_implant_page .implant_sec_title > strong,
  .grand_natural_page .natural_sec_title > strong { font-size: 20px; line-height: 1.55; }
  .grand_implant_page .implant_text > span,
  .grand_natural_page .natural_text > span,
  .grand_implant_page .implant_sec_title > span,
  .grand_natural_page .natural_sec_title > span { font-size: 16px; line-height: 1.85; }
}

/* 소형 모바일: 구강외과의 480px 규격 */
@media (max-width: 480px) {
  .grand_implant_page .implant_text > em,
  .grand_natural_page .natural_text > em { font-size: 36px; }
  .grand_implant_page .implant_text > h3,
  .grand_natural_page .natural_text > h3,
  .grand_implant_page .implant_sec_title > h3,
  .grand_natural_page .natural_sec_title > h3 { font-size: 29px; }
  .grand_implant_page .implant_text > strong,
  .grand_natural_page .natural_text > strong,
  .grand_implant_page .implant_sec_title > strong,
  .grand_natural_page .natural_sec_title > strong { font-size: 18px; }
  .grand_implant_page .implant_text > span,
  .grand_natural_page .natural_text > span,
  .grand_implant_page .implant_sec_title > span,
  .grand_natural_page .natural_sec_title > span { font-size: 15px; }
}


/* =========================================================
   GRAND 모바일 상단 비주얼 보정 v4
   - 기존 전체 CSS 기반 (이전 v2/v3 덮어쓰기 제거)
   - 배경을 꽉 채우되, 피사체가 보이도록 위치 조정
   - 상단 텍스트 / 하단 이미지 노출
   ========================================================= */
@media screen and (max-width:767px) {
  .grand_natural_page .natural_visual,
  .grand_implant_page .implant_visual,
  .gd-lab-page .gd-lab-visual,
  .gd-oral-page .gd-oral-visual {
    position:relative;
    height:500px;
    min-height:500px;
    overflow:hidden;
    background:#29353b;
  }

  /* img형 배경: 빈 공간 없이 채우고 아래쪽을 더 보여줌 */
  .grand_natural_page .natural_visual_img,
  .grand_implant_page .implant_visual_img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }
  .grand_natural_page .natural_visual_img img,
  .grand_implant_page .implant_visual_img img {
    display:block;
    width:100%;
    height:100%;
    object-fit:90%;
    object-position:80% 80%;
  }

  /* background-image형 배경: 기존 cover 유지, 초점만 이동 */
  .gd-lab-page .gd-lab-visual-bg,
  .gd-oral-page .gd-oral-visual-bg {
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:80% 80%;
    background-repeat:no-repeat;
    transform:none;
  }

  /* 글자가 있는 위쪽만 더 어둡게 */
  .grand_natural_page .natural_visual_img::after,
  .grand_implant_page .implant_visual_img::after,
  .gd-lab-page .gd-lab-visual-overlay,
  .gd-oral-page .gd-oral-visual-overlay {
    content:"";
    display:block;
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom,
      rgba(19,30,38,.90) 0%,
      rgba(19,30,38,.75) 35%,
      rgba(19,30,38,.25) 70%,
      rgba(19,30,38,.02) 100%);
  }

  .grand_natural_page .natural_visual_txt,
  .grand_implant_page .implant_visual_txt,
  .gd-lab-page .gd-lab-visual-inner,
  .gd-oral-page .gd-oral-visual-inner {
    position:relative;
    z-index:2;
    box-sizing:border-box;
    width:100%;
    max-width:none;
    height:100%;
    margin:0;
    padding:145px 22px 145px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
  }
  .gd-lab-page .gd-lab-visual-copy,
  .gd-oral-page .gd-oral-visual-copy {
    width:100%;
    max-width:100%;
  }

  /* 원주그랜드치과 소개 - 건물 배경은 기존 레이어 유지 */
  .grand-intro-new .gi-history-grid {
    min-height:400px;
    background-size:cover;
    background-position:65% 72%;
    background-repeat:no-repeat;
  }
  .grand-intro-new .gi-history-copy {
    min-height:400px;
    justify-content:flex-start;
    padding:145px 22px 165px;
  }
}


