
  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
  :root { --w:#ffffff; --cream:#f4efe9; --soft:#f8f5f2; --warm:#f1ece6; --dark:#1c1b19; --mid:#6b6762; --light:#a5a09a; --line:#e3dcd5; --gold:#BC8B55; }
  html { scroll-behavior: smooth; }
  body { font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif; color: var(--dark); background: var(--w); -webkit-font-smoothing: antialiased; line-height: 1; overflow-x: hidden; }
  .page-wrap { max-width: 1500px; margin: 0 auto; }
  a { text-decoration: none; color: inherit; }
  ul { list-style: none; }

  /* ─── Header ─── */
  header {
    position: fixed; inset: 0 0 auto 0; z-index: 200;
    height: 64px; padding: 0 52px;
    display: flex; align-items: center; justify-content: space-between;
    background: rgba(255,255,255,.97); backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0,0,0,.07);
    transition: background .35s ease, border-color .35s ease;
  }
  .logo img { height: 36px; width: auto; display: block; }
  header nav { display: flex; gap: 32px; }
  header nav a { font-size: 13px; letter-spacing: .02em; transition: color .2s; }
  header nav a:hover, header nav a.active { color: var(--gold); }
  .h-right { display: flex; align-items: center; gap: 16px; }
  .h-login { font-size: 12px; color: var(--mid); }
  .h-book {
    font-size: 11.5px; letter-spacing: .06em;
    background: var(--dark); color: #fff;
    padding: 9px 22px; border-radius: 100px; transition: background .25s;
  }
  .h-book:hover { background: var(--gold); }

  /* ─── Intro ─── */
  .dm-intro { padding: 88px 80px 56px; margin-top: 64px; }
  .dm-label { font-family: 'Montserrat', sans-serif; font-size: 17px; font-weight: 700; color: var(--gold); display: block; margin-bottom: 18px; letter-spacing: .06em; }
  .dm-intro h1 { font-family: 'Montserrat', sans-serif; font-size: clamp(36px,5.56vw,80px); font-weight: 700; line-height: 1; margin-bottom: 22px; letter-spacing: -.01em; }
  .dm-intro p { font-size: 22px; color: var(--mid); font-weight: 400; }

  /* ─── Hero image ─── */
  .dm-hero { width: 100%; height: 400px; overflow: hidden; background: #fff; }
  .dm-hero img,
  .dm-hero video { width: 100%; height: 100%; object-fit: cover; display: block; }

  /* ─── Tab nav ─── */
  .dm-tabs-outer {
    position: sticky;
    top: 64px;
    z-index: 100;
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--line);
  }
  .dm-tabs { display: flex; padding: 0 80px; max-width: 1500px; margin: 0 auto; }
  .tab-btn { font-family: 'Pretendard', sans-serif; font-size: 15px; font-weight: 400; color: var(--light); background: none; border: none; cursor: pointer; padding: 22px 30px; position: relative; transition: color .2s; white-space: nowrap; }
  .tab-btn::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 2px; background: var(--gold); opacity: 0; transition: opacity .2s; }
  .tab-btn.active { color: var(--dark); font-weight: 600; }
  .tab-btn.active::after { opacity: 1; }
  .tab-btn:hover { color: var(--dark); }

  /* ─── Desc split ─── */
  .dm-desc-sec { display: block; padding: 80px 80px 20px; align-items: start; }
  .dm-desc-left h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 700; line-height: 1.45; margin-bottom: 28px; }
  .dm-desc-left p { font-size: 18px; color: #7f7a74; line-height: 1.6; }
  .dm-desc-right { padding-top: 6px; }
  .dm-desc-right p { font-size: 18px; color: 000; line-height: 1.6; }
  .dm-desc-right p + p { margin-top: 20px; }

  /* ─── Type section ─── */
  .dm-type-sec { padding: 0 80px 72px; }
  .dm-type-sec h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 700; margin-bottom: 28px; }
  .dm-type-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
  .dm-type-img { width: 100%; aspect-ratio: 3/2; overflow: hidden; background: var(--soft); margin-bottom: 12px; }
  .dm-type-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
  .dm-type-img:hover img { transform: scale(1.04); }
  .dm-type-item p { font-size: clamp(15px,1.67vw,24px); color: var(--dark); text-align: center; line-height: 1.5; }

  /* ─── Cause section ─── */
  .dm-cause-sec { padding: 0 80px 80px; }
  .dm-cause-sec h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 700; margin-bottom: 28px; }
  .dm-cause-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
  .dm-cause-img { width: 100%; aspect-ratio: 4/3; overflow: hidden; background: var(--soft); margin-bottom: 10px; }
  .dm-cause-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .dm-cause-item p { font-size: clamp(15px,1.67vw,24px); color: var(--mid); text-align: center; line-height: 1.5; }

  /* ─── Process section (cream bg, full-width) ─── */
  .dm-process-sec { background: var(--cream); padding: 128px 0 96px; }
  .dm-process-inner { max-width: 1500px; margin: 0 auto; padding: 0 80px; }
  .dm-process-hd { display: grid; grid-template-columns: 1fr 1.5fr; gap: 80px; align-items: start; margin-bottom: 88px; }
  .dm-process-hd h2 { font-size: clamp(24px,3.13vw,45px);  font-weight: 700; line-height: 1.45; }
  .dm-process-hd p { font-size: 20px; color: var(--mid); line-height: 2.0; padding-top: 4px; }
  .dm-process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 52px; }
  .dm-step-card {  overflow: hidden; }
  .dm-step-img { width: 100%; aspect-ratio: 16/10; overflow: hidden;  }
  .dm-step-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .dm-step-body { padding: 20px 24px 24px; }
  .dm-step-num { font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: 700; color: var(--gold); letter-spacing: 0em; 
    text-transform: uppercase; display: block; margin-bottom: 10px; margin-top:10px}
  .dm-step-body h3 { font-size: 24px; font-weight: 700; margin-bottom: 8px; line-height: 1.35; }
  .dm-step-body p { font-size: 18px; color: var(--mid); line-height: 1.55; }

  /* ─── Solution section (white bg, full-width) ─── */
  .dm-solution-sec { background: var(--w); padding: 112px 0 120px; }
  .dm-solution-inner { max-width: 1500px; margin: 0 auto; padding: 0 80px; }
  .dm-solution-sec h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 700; margin-bottom: 40px; }
  .dm-solution-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; row-gap: 44px; }
  .dm-sol-img { width: 100%; overflow: hidden; margin-top: 18px; margin-bottom: 44px; display: flex; align-items: center; justify-content: center; }
  .dm-sol-img img { width: 100%; height: 100%; object-fit: contain; display: block; }
  .dm-sol-item h3 { font-size: 24px; font-weight: 700; margin-bottom: 12px; }
  .dm-sol-item p { font-size: 18px; color: var(--mid); line-height: 1.6; }

  /* ─── Recommend section (cream bg, full-width) ─── */
  .dm-recommend-sec { background: #fff; padding: 96px 0 104px; }
  .dm-recommend-inner { max-width: 1500px; margin: 0 auto; padding: 0 80px; }
  .dm-recommend-sec h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 700; text-align: center; margin-bottom: 52px; }
  .dm-recommend-list { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
  .dm-rec-item {
    display: flex; align-items: center; gap: 20px; border: 1px solid var(--line); border-radius: 8px; padding: 20px 28px; background: var(--w);
    transition: transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s cubic-bezier(.16,1,.3,1), border-color .4s cubic-bezier(.16,1,.3,1);
  }
  .dm-rec-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(0,0,0,.09);
    border-color: rgba(195,166,121,.45);
  }
  .dm-rec-icon { flex-shrink: 0; width: 26px; height: 26px; transition: transform .35s cubic-bezier(.16,1,.3,1); }
  .dm-rec-item:hover .dm-rec-icon { transform: scale(1.08); }
  .dm-rec-item span { font-size: 22px; font-weight: 500; line-height: 1.5; }

  /* ─── Tab panels ─── */
  .tab-panel { display: none; }
  .tab-panel.active { display: block; }

  /* ─── 색소케어: 원형 종류 ─── */
  .dm-circle-sec { padding: 80px  0 140px; overflow: hidden; }
  .dm-circle-grid { display: flex; justify-content: center; align-items: center; }
  .dm-circle-item {
    width: 280px; height: 280px; border-radius: 50%;
    background: rgba(244, 239, 233, 0.5);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; font-size: 20px; font-weight: 700; line-height: 1.45;
    color: var(--dark); flex-shrink: 0;
    margin-left: -56px;
  }
  .dm-circle-item:first-child { margin-left: 0; }
  .dm-circle-num {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px; font-weight: 400; color: var(--gold);
    letter-spacing: .06em; margin-bottom: 10px;
  }

  /* ─── 이미지+설명 (항상 왼쪽 이미지, 오른쪽 텍스트) ─── */
  .dm-pig-list { padding: 0 80px 60px; }
  .dm-pig-item {
    display: grid; grid-template-columns: 1fr 1.4fr;
    gap: 60px; align-items: center; padding: 32px 0;
    border-top: 1px solid var(--line);
  }
  .dm-pig-item:last-child { border-bottom: 1px solid var(--line); }
  .dm-pig-img { width: 100%; aspect-ratio: 16/9; overflow: hidden; border-radius: 4px; background: var(--soft); }
  .dm-pig-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .dm-pig-info { padding: 0; }
  .dm-pig-info h3 { font-size: 28px; font-weight: 700; color: var(--black); margin-bottom: 6px; line-height: 1.35; }
  .dm-pig-info .pig-en { font-size: 15px; color: var(--light); margin-bottom: 20px; display: block; }
  .dm-pig-info ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
  .dm-pig-info ul li { font-size: 18px; color: var(--mid); line-height: 1.35; padding-left: 18px; position: relative; }
  .dm-pig-info ul li::before { content: '·'; position: absolute; left: 0; color: var(--gold); font-size: 18px; line-height: 1.3; }

  /* ─── 경고 문구 ─── */
  .dm-warning { text-align: center; padding: 80px 80px;   }
.dm-warning h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 600; line-height: 1.45; }
  .dm-warning p { font-size: 22px; color: var(--dark); line-height: 1.8; }
  .dm-warning strong { color: var(--gold); }

  /* ─── 탁월한 난치성 섹션 ─── */
  .dm-feature-sec { background: var(--soft); padding: 88px 0; }
  .dm-feature-inner { max-width: 1100px; margin: 0 auto; padding: 0 80px; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
  .dm-feature-tag { font-size: 17px; color: var(--gold); font-weight: 700; letter-spacing: .02em; margin-bottom: 8px; display: block; }
  .dm-feature-inner h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 700; line-height: 1.35; margin-bottom: 32px; }
  .dm-feature-list { list-style: none; display: flex; flex-direction: column; gap: 13px; }
  .dm-feature-list li { font-size: 20px; color: var(--mid); line-height: 1.45; padding-left: 16px; position: relative; }
  .dm-feature-list li::before { content: '·'; position: absolute; left: 0; color: var(--gold); font-size: 20px; line-height: 1.3; }
  .dm-feature-img { width: 100%; aspect-ratio: 4/3; overflow: hidden; background: var(--cream); }
  .dm-feature-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

  /* ─── 마크뷰 진료 ─── */
  .dm-markvue-sec { background: var(--cream); padding: 88px 0; }
  .dm-markvue-inner { max-width: 1500px; margin: 0 auto; padding: 0 80px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
  .dm-markvue-img-box { width: 100%; aspect-ratio: 4/3; overflow: hidden; background: var(--soft); border-radius: 4px; }
  .dm-markvue-img-box img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .dm-markvue-tag { font-size: 17px; color: var(--mid); letter-spacing: .04em; margin-bottom: 6px; display: block; }
  .dm-markvue-inner h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 700; line-height: 1.35; margin-bottom: 0; }
  .dm-markvue-inner h2 span { color: var(--gold); }
  .dm-markvue-desc { font-size: 22px; color: var(--mid); line-height: 1.9; margin-top: 24px; }

  /* ─── 색소 치료 프로그램 ─── */
  .dm-pigment-sol-sec { padding: 128px 0 96px; background: #fff; }
  .dm-pigment-sol-inner { max-width: 1500px; margin: 0 auto; padding: 0 80px; }
  .dm-pigment-sol-sec h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 700; text-align: center; margin-bottom: 52px; }
  .dm-pigment-sol-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
  .dm-psol-img { width: 100%; aspect-ratio: 3/4; margin-bottom: 16px; overflow: hidden; }
  .dm-psol-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .dm-psol-name { font-size: 24px; font-weight: 700; color: var(--gold); margin-bottom: 8px; text-align: center; }
  .dm-psol-desc { font-size: 18px; color: var(--mid); line-height: 1.6; text-align: center; }

  /* ─── 서브타이틀 ─── */
  .dm-rec-subtitle { font-size: 17px; color: var(--mid); text-align: center; margin-bottom: 12px; display: block; }

  /* ─── Fade-up animation ─── */
  .fade-up { opacity: 0; transform: translateY(40px); transition: opacity .7s ease, transform .7s ease; }
  .fade-up.on { opacity: 1; transform: translateY(0); }
  .fade-up:nth-child(2) { transition-delay: .08s; }
  .fade-up:nth-child(3) { transition-delay: .16s; }
  .fade-up:nth-child(4) { transition-delay: .24s; }
  .dm-recommend-sec.fade-up.on .dm-rec-item,
  .ac-rec-sec.fade-up.on .ac-rec-item {
    opacity: 0;
    animation: recRiseDm .65s cubic-bezier(.16,1,.3,1) forwards;
  }
  .dm-recommend-sec.fade-up.on .dm-rec-item:nth-child(1),
  .ac-rec-sec.fade-up.on .ac-rec-item:nth-child(1) { animation-delay: .04s; }
  .dm-recommend-sec.fade-up.on .dm-rec-item:nth-child(2),
  .ac-rec-sec.fade-up.on .ac-rec-item:nth-child(2) { animation-delay: .12s; }
  .dm-recommend-sec.fade-up.on .dm-rec-item:nth-child(3),
  .ac-rec-sec.fade-up.on .ac-rec-item:nth-child(3) { animation-delay: .2s; }
  .dm-recommend-sec.fade-up.on .dm-rec-item:nth-child(4),
  .ac-rec-sec.fade-up.on .ac-rec-item:nth-child(4) { animation-delay: .28s; }
  .dm-recommend-sec.fade-up.on .dm-rec-item:nth-child(5),
  .ac-rec-sec.fade-up.on .ac-rec-item:nth-child(5) { animation-delay: .36s; }
  .dm-circle-sec.fade-up.on .dm-circle-item,
  .dt-type-sec.fade-up.on .dt-type-item {
    opacity: 0;
    animation: recRiseDm 1.05s cubic-bezier(.16,1,.3,1) forwards;
  }
  .dm-circle-sec.fade-up.on .dm-circle-item:nth-child(1),
  .dt-type-sec.fade-up.on .dt-type-item:nth-child(1) { animation-delay: .04s; }
  .dm-circle-sec.fade-up.on .dm-circle-item:nth-child(2),
  .dt-type-sec.fade-up.on .dt-type-item:nth-child(2) { animation-delay: .2s; }
  .dm-circle-sec.fade-up.on .dm-circle-item:nth-child(3),
  .dt-type-sec.fade-up.on .dt-type-item:nth-child(3) { animation-delay: .36s; }
  .dm-circle-sec.fade-up.on .dm-circle-item:nth-child(4),
  .dt-type-sec.fade-up.on .dt-type-item:nth-child(4) { animation-delay: .52s; }
  .dm-circle-sec.fade-up.on .dm-circle-item:nth-child(5),
  .dt-type-sec.fade-up.on .dt-type-item:nth-child(5) { animation-delay: .68s; }
  .dm-circle-sec.fade-up.on .dm-circle-item:nth-child(6),
  .dt-type-sec.fade-up.on .dt-type-item:nth-child(6) { animation-delay: .84s; }
  @keyframes recRiseDm {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* ─── Contact ─── */
  .contact { padding: 88px 80px; background: #fff; }
  .contact-grid { display: grid; grid-template-columns: 1fr 1.1fr 1.2fr; gap: 60px; align-items: start; }
  .contact-left h3 { font-size: 36px; font-weight: 700; margin-bottom: 28px; }
  .c-phone { font-size: 28px; font-weight: 400; letter-spacing: .02em; margin-bottom: 28px; color: var(--dark); }
  .c-phone span { font-size: 13px; font-weight: 400; color: var(--light); display: block; margin-bottom: 6px; letter-spacing: .04em; }
  .c-rows { border-top: 1px solid var(--line); }
  .c-row { display: grid; grid-template-columns: 68px 1fr; gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--line); }
  .c-lbl { font-size: 11.5px; color: var(--light); padding-top: 1px; }
  .c-val { font-size: 13px; color: var(--mid); line-height: 1.9; }
  .c-form { display: flex; flex-direction: column; gap: 10px; }
  .c-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .c-field { display: flex; flex-direction: column; gap: 6px; }
  .c-field label { font-size: 11.5px; color: var(--light); letter-spacing: .04em; }
  .c-field label span { color: #c00; }
  .c-field input, .c-field textarea { width: 100%; padding: 11px 14px; border: 1px solid var(--line); background: #fafafa; font-family: 'Pretendard', sans-serif; font-size: 13px; color: var(--dark); outline: none; transition: border .2s; resize: none; }
  .c-field input::placeholder, .c-field textarea::placeholder { color: #bbb; }
  .c-field input:focus, .c-field textarea:focus { border-color: var(--dark); background: #fff; }
  .c-field textarea { height: 110px; }
  .c-agree { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-top: 4px; }
  .c-agree-left { display: flex; align-items: center; gap: 8px; }
  .c-agree input[type=checkbox] { width: 14px; height: 14px; accent-color: var(--dark); cursor: pointer; }
  .c-agree-txt { font-size: 12px; color: var(--mid); }
  .c-agree-more { font-size: 11.5px; color: var(--light); border-bottom: 1px solid var(--line); cursor: pointer; }
  .c-submit { width: 100%; padding: 15px; background: var(--dark); color: #fff; font-family: 'Pretendard', sans-serif; font-size: 13px; letter-spacing: .08em; border: none; cursor: pointer; transition: background .2s; margin-top: 4px; }
  .c-submit:hover { background: #333; }
  .map-box { height: 100%; min-height: 320px; overflow: hidden; }

  /* ─── 여드름 ─── */
  .ac-intro-sec { display: grid; grid-template-columns: 1fr 1.3fr; gap: 100px; padding: 80px 80px 72px; align-items: start; background: #fff; max-width: 1500px; margin: 0 auto; }
  .ac-intro-left h2 { font-size: clamp(28px,3.47vw,50px); font-weight: 700; line-height: 1.3; }
  .ac-intro-right p { font-size: 17px; color: var(--mid); line-height: 1.75; margin-bottom: 22px; }
  .ac-intro-right p:last-child { margin-bottom: 0; }
  .ac-intro-right .em { color: var(--dark); font-weight: 700; }
  .ac-intro-right .sm { font-size: inherit; }
  .ac-type-sec { background: #fff; padding: 0 80px 172px 80px; max-width: 1500px; margin: 0 auto; }
  .ac-type-sec h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 700; text-align: left; margin-bottom: 36px; }
  .ac-type-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
  .ac-type-img { width: 100%; aspect-ratio: 3/4; overflow: hidden; background: var(--soft); margin-bottom: 24px; }
  .ac-type-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .ac-type-item .ac-type-name { font-size: 24px; font-weight: 700; color: var(--dark); margin-bottom: 10px; }
  .ac-type-desc { font-size: 17px; color: var(--mid); line-height: 1.7; }
  .ac-care-sec { background: var(--cream); padding: 128px 80px 96px; }
  .ac-care-hd { display: grid; grid-template-columns: auto 1fr; gap: 60px; align-items: start; max-width: 1340px; margin: 0 auto 60px; }
  .ac-care-hd h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 700; white-space: nowrap; }
  .ac-care-hd p { font-size: 20px; color: var(--mid); line-height: 1.9; }
  .ac-care-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 24px; max-width: 1340px; margin: 0 auto; }
  .ac-care-card { position: relative;  margin-top:50px}
  .ac-care-img { width: 100%; aspect-ratio: 16/9; overflow: hidden; background: var(--soft); border-radius: 12px; margin-top: 10px; margin-bottom: 24px; }
  .ac-care-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .ac-care-num { font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 600; color: #BC8B55; letter-spacing: .06em; display: block; margin-bottom: 6px; }
  .ac-care-title { font-size: 24px; font-weight: 700; color: var(--dark); }
  .ac-sol-sec { background: #fff; padding: 112px 80px 120px; }
  .ac-sol-hd { text-align: left; margin-bottom: 52px; max-width: 1340px; margin-left: auto; margin-right: auto; }
  .ac-sol-hd h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 700; color: var(--dark); }
  .ac-sol-row1 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px 24px; max-width: 1340px; margin: 0 auto 40px; }
  .ac-sol-row2 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px 24px; max-width: 1340px; margin: 0 auto; }
  .ac-sol-item { text-align: left; }
  .ac-sol-img { width: 100%; aspect-ratio: 1/1; overflow: hidden; margin-bottom: 18px; }
  .ac-sol-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .ac-sol-name { font-size: 24px; font-weight: 700; margin-bottom: 6px; color: var(--dark); }
  .ac-sol-desc { font-size: 18px; color: var(--mid); line-height: 1.6; }
  .ac-rec-sec { background: var(--cream); padding: 96px 80px 104px; }
  .ac-rec-hd { text-align: center; margin-bottom: 48px; }
  .ac-rec-hd .sub { font-size: 17px; color: var(--mid); letter-spacing: .04em; display: block; margin-bottom: 6px; }
  .ac-rec-hd h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 700; }
  .ac-rec-hd h2 em { font-style: normal; color: var(--gold); }
  .ac-rec-list { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
  .ac-rec-item {
    display: flex; align-items: center; gap: 20px; background: var(--w); border: 1px solid var(--line); border-radius: 8px; padding: 20px 28px;
    transition: transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s cubic-bezier(.16,1,.3,1), border-color .4s cubic-bezier(.16,1,.3,1);
  }
  .ac-rec-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(0,0,0,.09);
    border-color: rgba(195,166,121,.45);
  }
  .ac-rec-icon { flex-shrink: 0; width: 26px; height: 26px; transition: transform .35s cubic-bezier(.16,1,.3,1); }
  .ac-rec-item:hover .ac-rec-icon { transform: scale(1.08); }
  .ac-rec-item span { font-size: 22px; font-weight: 500; line-height: 1.5; }

  /* ─── 문신케어 ─── */
  .dt-intro-sec { padding: 80px 80px 72px; display: grid; grid-template-columns: 1fr; gap: 20px; align-items: start; }
  .dt-intro-title { font-size: clamp(28px,3.47vw,50px); font-weight: 700; line-height: 1.45; margin-bottom: 0; }
  .dt-intro-title strong { color: inherit; }
  .dt-intro-desc { font-size: 18px; color: var(--mid); line-height: 1.9; padding-top: 0; max-width: 520px; }
  .dt-intro-desc strong { color: inherit; font-weight: 600; }

  .dt-type-sec { padding: 40px 0px 160px;; overflow: hidden; }
  .dt-type-grid { display: flex; justify-content: center; align-items: center; }
  .dt-type-item { width: 260px; height: 260px; border-radius: 50%; background: rgba(244,239,233,.75); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; flex-shrink: 0; margin-left: -52px; }
  .dt-type-item:first-child { margin-left: 0; }
  .dt-type-num { font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 400; color: var(--gold); letter-spacing: .06em; margin-bottom: 10px; }
  .dt-type-name { font-size: 20px; font-weight: 700; color: var(--dark); }
  .dt-type-sub { font-size: 13px; color: var(--mid); margin-top: 4px; }

  .dt-split-sec { max-width: 1500px; margin: 0 auto; padding: 0 80px 88px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 72px; align-items: center; }
  .dt-split-img { width: 100%; aspect-ratio: 4/3; overflow: hidden; background: var(--soft); border-radius: 4px; }
  .dt-split-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .dt-split-inner p { font-size: 17px; color: var(--mid); line-height: 2.1; margin-bottom: 28px; }
  .dt-split-inner p:last-child { margin-bottom: 0; }
  .dt-split-inner .em { color: var(--gold); font-weight: 600; }

  .dt-picolo-sec { padding: 88px 0 96px; background: var(--cream); }
  .dt-picolo-inner { max-width: 1500px; margin: 0 auto; padding: 0 80px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
  .dt-picolo-tag { font-size: 17px; color: var(--mid); margin-bottom: 16px; display: block; }
  .dt-picolo-title { font-size: clamp(24px,3.13vw,45px); font-weight: 700; margin-bottom: 28px; line-height: 1.3; }
  .dt-picolo-desc { font-size: 18px; color: var(--mid); line-height: 1.72; }
  .dt-picolo-img { width: 100%; aspect-ratio: 4/3; overflow: hidden; background: var(--soft); border-radius: 20px; }
  .dt-picolo-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

  .dt-compare-sec { background: #e5e5e5; padding: 52px 80px; }
  .dt-compare-grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; align-items: end; }
  .dt-cmp-item { display: flex; flex-direction: column; align-items: center; gap: 20px; }
  .dt-cmp-img { width: 100%; aspect-ratio: 2/3; display: flex; align-items: flex-end; justify-content: center; }
  .dt-cmp-img img { max-width: 100%; height: 100%; object-fit: contain; display: block; }
  .dt-cmp-lbl { padding: 8px 22px; border-radius: 100px; background: #fff; font-size: 14px; font-weight: 500; white-space: nowrap; }
  .dt-cmp-lbl.pico { color: var(--gold); }
  .dt-cmp-lbl.nano { color: var(--dark); }

  .dt-process-wrap { padding: 146px 80px 72px; max-width: 1500px; margin: 0 auto; }
  .dt-process-wrap + .dt-process-wrap { padding-top: 40px; }
  .dt-process-wrap h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 700; text-align: center; margin-bottom: 40px; }
  .dt-process-wrap h2 em { font-style: normal; }
  .dt-proc-title { text-align: left !important; font-size: clamp(24px,3.13vw,45px) !important; }
  .dt-proc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 64px; }
  .dt-proc-img { width: 100%; aspect-ratio: 16/10; overflow: hidden; background: var(--soft); margin-bottom: 20px; }
  .dt-proc-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .dt-proc-item h3 { font-size: clamp(18px,1.67vw,24px); font-weight: 700; margin-bottom: 14px; }
  .dt-proc-item p { font-size: 20px; color: var(--mid); line-height: 1.55; }
  .dt-proc-item p + p { margin-top: 16px; }
  .dt-cards { display: flex; flex-direction: column; gap: 20px; max-width: 1100px; margin: 0 auto; }
  .dt-card { background: var(--cream); border-radius: 12px; padding: 32px 40px; }
  .dt-card-num { font-size: 24px; font-weight: 300; color: rgba(188,139,85,.5); display: block; margin-bottom: 20px; }
  .dt-card-row { display: grid; grid-template-columns: 200px 1fr; gap: 40px; padding-top: 20px; border-top: 1px solid rgba(188,139,85,.2); }
  .dt-card-row + .dt-card-row { margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(188,139,85,.15); }
  .dt-card-title { font-size: 20px; font-weight: 700; line-height: 1.45; }
  .dt-card-text { font-size: 15px; color: var(--mid); line-height: 1.9; }

  .dt-warn { background: #e5e5e5; padding: 22px 32px; max-width: 1340px; margin: 0 auto; }
  .dt-warn-inner { display: flex; align-items: center; gap: 16px; }
  .dt-warn-icon { width: 26px; height: 26px; border: 1.5px solid rgba(0,0,0,.4); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 13px; color: var(--dark); font-weight: 600; }
  .dt-warn-txt { font-size: 15px; color: var(--mid); line-height: 1.7; }

  /* ─── 흉터 ─── */
  .sc-intro-sec { padding: 80px 80px 56px; text-align: center; }
  .sc-label { font-size: 17px; font-weight: 700; color: var(--gold); display: block; margin-bottom: 12px; letter-spacing: .04em; }
  .sc-intro-sec h2 { font-size: clamp(24px,3.47vw,50px); font-weight: 700; line-height: 1.3; margin-bottom: 28px; }
  .sc-intro-sec p { font-size: 17px; color: var(--mid); line-height: 2.0; }

  .sc-scar-list { padding: 0 80px 72px; }
  .sc-scar-item { display: grid; grid-template-columns: 1fr 60px 1fr; align-items: center; padding: 60px 0; border-bottom: 1px solid var(--line); }
  .sc-scar-item:first-child { border-top: 1px solid var(--line); }
  .sc-scar-divider { display: flex; align-items: center; justify-content: center; align-self: stretch; position: relative; }
  .sc-scar-divider::before { content: ''; position: absolute; left: 50%; transform: translateX(-50%); width: 1px; height: 100%; background: var(--line); }
  .sc-scar-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--line); position: relative; z-index: 1; }
  .sc-scar-img { width: 100%; aspect-ratio: 4/3; border-radius: 8px; overflow: hidden; background: var(--soft); }
  .sc-scar-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .sc-scar-info { padding: 0 24px; }
  .sc-scar-item.reverse .sc-scar-img { order: 3; }
  .sc-scar-item.reverse .sc-scar-divider { order: 2; }
  .sc-scar-item.reverse .sc-scar-info { order: 1; }
  .sc-scar-info h3 { font-size: clamp(20px,2vw,28px); font-weight: 700; color: var(--gold); margin-bottom: 20px; line-height: 1.35; }
  .sc-scar-info h3 span { font-size: 14px; font-weight: 400; color: var(--light); margin-left: 6px; }
  .sc-scar-info ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
  .sc-scar-info ul li { font-size: 17px; color: var(--mid); line-height: 1.7; padding-left: 18px; position: relative; }
  .sc-scar-info ul li::before { content: '·'; position: absolute; left: 0; color: var(--gold); font-size: 17px; line-height: 1.3; }

  .sc-sol-sec { background: var(--w); padding: 112px 80px 120px; text-align: left; }
  .sc-sol-inner { max-width: 1340px; margin: 0 auto; }
  .sc-sol-sub { font-size: 17px; color: var(--mid); letter-spacing: .04em; display: block; margin-bottom: 6px; }
  .sc-sol-sec h2 { font-size: clamp(24px,3.13vw,45px); font-weight: 700; margin-bottom: 44px; }
  .sc-sol-sec h2 em { font-style: normal; color: inherit; }
  .sc-sol-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px 24px; }
  .sc-sol-img { width: 100%; aspect-ratio: 1/1; overflow: hidden; margin-bottom: 18px;  display: flex; align-items: center; justify-content: center; }
  .sc-sol-img img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
  .sc-sol-name { font-size: 24px; font-weight: 700; margin-bottom: 8px; color: var(--dark); }
  .sc-sol-desc { font-size: 18px; color: var(--mid); line-height: 1.6; }

  .sc-special-sec { position: relative; padding: 96px 80px 104px; overflow: hidden; background: #eae5df; text-align: center; }
  .sc-special-bg { position: absolute; inset: 0; z-index: 0; }
  .sc-special-bg img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .22; filter: brightness(1.1); }
  .sc-special-inner { position: relative; z-index: 1; }
  .sc-special-sub { font-size: 17px; color: var(--mid); letter-spacing: .04em; display: block; margin-bottom: 6px; }
  .sc-special-title { font-size: clamp(24px,3.13vw,45px); font-weight: 700; margin-bottom: 56px; }
  .sc-special-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 900px; margin: 0 auto; }
  .sc-special-card { background: rgba(255,255,255,.88); border-radius: 20px; padding: 44px 40px; text-align: left; }
  .sc-special-num { font-family: 'Montserrat', sans-serif; font-size: 15px; color: var(--gold); font-weight: 400; margin-bottom: 14px; display: block; }
  .sc-special-name { font-size: clamp(18px,1.8vw,26px); font-weight: 700; margin-bottom: 16px; line-height: 1.35; }
  .sc-special-desc { font-size: 18px; color: var(--mid); line-height: 1.6; }

  /* ─── Footer ─── */
  footer { background: var(--dark); color: rgba(255,255,255,.56); padding: 36px 52px 28px; }
  .ft-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 20px; margin-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.1); }
  .ft-logo { font-size: 16px; font-weight: 400; letter-spacing: .1em; color: rgba(255,255,255,.82); }
  .ft-nav { display: flex; gap: 24px; }
  .ft-nav a { font-size: 12px; color: rgba(255,255,255,.56); transition: color .2s; }
  .ft-nav a:hover { color: rgba(255,255,255,.82); }
  .ft-copy { font-size: 11px; }

  @media (max-width: 1024px) {
    .dm-intro,
    .dm-tabs,
    .dm-desc-sec,
    .dm-type-sec,
    .dm-cause-sec,
    .dm-pig-list,
    .dm-warning,
    .sc-intro-sec,
    .sc-scar-list,
    .sc-sol-sec,
    .sc-special-sec { padding-left: 48px; padding-right: 48px; }
    .dm-process-inner,
    .dm-solution-inner,
    .dm-recommend-inner,
    .dm-feature-inner,
    .dm-markvue-inner,
    .dm-pigment-sol-inner { padding-left: 48px; padding-right: 48px; }

    .dm-type-grid,
    .dm-cause-grid,
    .dm-solution-grid,
    .sc-sol-grid { grid-template-columns: repeat(2, 1fr); }
    .dm-process-grid,
    .dm-pigment-sol-grid { grid-template-columns: repeat(3, 1fr); }
  }

  @media (max-width: 768px) {
    header { padding: 0 20px; }
    header nav { display: none; }
    .h-book { padding: 8px 14px; font-size: 11px; }

    .dm-intro { padding: 56px 24px 36px; }
    .dm-label { font-size: 14px; letter-spacing: .08em; margin-bottom: 12px; }
    .dm-intro h1 { font-size: 30px; line-height: 1.1; margin-bottom: 14px; }
    .dm-intro p { font-size: 14px; line-height: 1.58; }
    .dm-hero { height: 220px; }

    .dm-tabs { padding: 0 24px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    .dm-tabs::-webkit-scrollbar { display: none; }
    .tab-btn { padding: 15px 16px; font-size: 13px; flex: 0 0 auto; }
    .dm-circle-sec,
    .dt-type-sec { display: none; }

    .dm-desc-sec,
    .dm-type-sec,
    .dm-cause-sec,
    .dm-pig-list,
    .dm-warning,
    .sc-intro-sec,
    .sc-scar-list,
    .sc-sol-sec,
    .sc-special-sec { padding-left: 24px; padding-right: 24px; }
    .dm-process-inner,
    .dm-solution-inner,
    .dm-recommend-inner,
    .dm-feature-inner,
    .dm-markvue-inner,
    .dm-pigment-sol-inner { padding-left: 24px; padding-right: 24px; }

    .dm-desc-sec,
    .dm-process-hd,
    .dm-feature-inner,
    .dm-markvue-inner,
    .dm-pig-item,
    .ac-intro-sec,
    .ac-care-hd,
    .dt-split-inner,
    .dt-picolo-inner,
    .sc-scar-item { grid-template-columns: 1fr; gap: 24px; }

    .dm-desc-sec { padding-top: 48px; padding-bottom: 24px; }

    .dm-type-grid { grid-template-columns: 1fr 1fr; gap: 12px; }

    .dm-cause-grid { grid-template-columns: 1fr 1fr; gap: 12px; }

    .dm-process-grid,
    .dm-solution-grid,
    .dm-pigment-sol-grid { grid-template-columns: 1fr 1fr; gap: 16px; }

    .ac-intro-sec { padding: 48px 24px; gap: 24px; }
    .ac-intro-right p { font-size: 14px; }
    .ac-intro-right .sm { font-size: inherit; }

    .ac-type-sec,
    .ac-care-sec,
    .ac-sol-sec,
    .ac-rec-sec { padding-left: 24px; padding-right: 24px; }
    .ac-type-sec { padding-top: 48px; padding-bottom: 48px; }
    .ac-care-sec,
    .ac-sol-sec,
    .ac-rec-sec { padding-top: 48px; padding-bottom: 48px; }

    .ac-type-grid { grid-template-columns: 1fr 1fr; gap: 12px; }

    .ac-care-grid,
    .ac-sol-row1,
    .ac-sol-row2,
    .sc-sol-grid,
    .sc-special-cards,
    .dt-proc-grid { grid-template-columns: 1fr; }

    .dm-circle-sec { padding: 28px 0 48px; }
    .dm-circle-grid { flex-direction: column; gap: 0; padding: 0 24px; }
    .dm-circle-item {
      width: 100%; height: auto; border-radius: 0;
      background: none; flex-direction: row; align-items: flex-start; justify-content: flex-start;
      gap: 16px; padding: 14px 0; margin-left: 0;
      border-bottom: 1px solid var(--line);
      font-size: 15px; text-align: left;
    }
    .dm-circle-item:not(:first-child) { margin-left: 0; }
    .dm-circle-num { font-size: 14px; min-width: 28px; }

    .dt-type-grid {
      flex-direction: column; gap: 0; padding: 0 24px;
    }
    .dt-type-item {
      width: 100%; height: auto; border-radius: 0;
      background: none; flex-direction: row; align-items: flex-start; justify-content: flex-start;
      gap: 16px; padding: 14px 0; text-align: left;
      border-bottom: 1px solid var(--line);
      font-size: 15px;
      margin-left: 0;
    }
    .dt-type-item:not(:first-child) { margin-left: 0; }
    .dt-type-num { font-size: 14px; min-width: 28px; }

    .ac-care-hd h2 { white-space: normal; }
    .dt-card-row { grid-template-columns: 1fr; gap: 12px; }

    .dm-pig-list { padding-top: 0; padding-bottom: 48px; }
    .dm-pig-item { padding: 28px 0; gap: 18px; }
    .dm-pig-img { aspect-ratio: 4 / 3; }

    .dm-warning { padding-top: 44px; padding-bottom: 30px; }
    .dm-feature-sec,
    .dm-markvue-sec,
    .dm-pigment-sol-sec { padding-top: 56px; padding-bottom: 56px; }
    .dm-feature-inner,
    .dm-markvue-inner { gap: 28px; }
    .dm-pigment-sol-grid { gap: 24px 14px; }

    /* 글씨 크기 모바일 오버라이드 */
    .dm-desc-left h2 { font-size: 24px; line-height: 1.32; margin-bottom: 18px; }
    .dm-desc-left p, .dm-desc-right p { font-size: 14px; line-height: 1.62; }
    .dm-process-hd p,
    .dm-step-body p {
      font-size: 13.5px;
      line-height: 1.55;
      text-align: left;
    }
    .dm-step-body h3 { font-size: 17px; line-height: 1.35; }
    .dm-sol-item h3 { font-size: 17px; line-height: 1.35; }
    .dm-sol-item p { font-size: 13.5px; line-height: 1.5; text-align: left; }
    .dm-sol-img { margin-top: 0; margin-bottom: 20px; }
    .dm-recommend-sec h2 { font-size: 24px; line-height: 1.32; margin-bottom: 28px; text-align: center; }
    .dm-rec-subtitle { font-size: 13px; text-align: center; }
    .dm-rec-item {
      align-items: flex-start;
      gap: 14px;
      padding: 18px 20px;
      text-align: left;
    }
    .dm-rec-icon {
      width: 22px;
      height: 22px;
      margin-top: 1px;
    }
    .dm-rec-item span {
      font-size: 15px;
      line-height: 1.52;
      text-align: left;
    }
    .dm-pig-info h3 { font-size: 20px; }
    .dm-pig-info .pig-en { font-size: 13px; margin-bottom: 14px; line-height: 1.45; }
    .dm-pig-info ul { gap: 8px; }
    .dm-pig-info ul li { font-size: 13.5px; line-height: 1.55; }
    .dm-pig-info ul li::before { font-size: 14px; }
    .dm-warning h2 { font-size: 23px; line-height: 1.36; }
    .dm-warning p { font-size: 15px; }
    .dm-feature-inner { display: flex; flex-direction: column-reverse; }
    .dm-feature-inner > div { text-align: left; width: 100%; }
    .dm-feature-tag { font-size: 13px; margin-bottom: 8px; text-align: left; }
    .dm-feature-inner h2,
    .dm-markvue-inner h2,
    .dm-pigment-sol-sec h2 { font-size: 24px; line-height: 1.32; margin-bottom: 22px; }
    .dm-feature-list { gap: 10px; }
    .dm-feature-list li { font-size: 13.5px; line-height: 1.5; text-align: left; }
    .dm-markvue-tag { font-size: 13px; }
    .dm-markvue-desc { font-size: 14px; line-height: 1.62; margin-top: 14px; }
    .dm-psol-name { font-size: 17px; line-height: 1.35; }
    .dm-psol-desc { font-size: 13px; line-height: 1.5; }
    .ac-intro-right p,
    .ac-type-desc,
    .ac-care-hd p,
    .ac-sol-desc {
      font-size: 13.5px;
      line-height: 1.55;
    }
    .ac-type-item .ac-type-name,
    .ac-sol-name {
      font-size: 17px;
      line-height: 1.35;
    }
    .ac-rec-hd { text-align: center; }
    .ac-rec-hd .sub { font-size: 13px; }
    .ac-rec-hd h2 { font-size: 24px; line-height: 1.32; text-align: center; }
    .ac-rec-item {
      align-items: flex-start;
      gap: 14px;
      padding: 18px 20px;
      text-align: left;
    }
    .ac-rec-icon {
      width: 22px;
      height: 22px;
      margin-top: 1px;
    }
    .ac-rec-item span {
      font-size: 15px;
      line-height: 1.52;
      text-align: left;
    }
    .dt-intro-sec { grid-template-columns: 1fr; gap: 20px; padding: 48px 24px 36px; }
    .dt-intro-title { font-size: 24px; line-height: 1.32; }
    .dt-intro-desc { font-size: 13.5px; line-height: 1.55; }
    .dt-split-sec { display: flex; flex-direction: column; padding: 0 24px 48px; gap: 24px; }
    .dt-split-inner p { font-size: 13.5px; line-height: 1.58; }
    .dt-picolo-sec { padding: 40px 0; }
    .dt-picolo-inner { display: flex; flex-direction: column-reverse; padding: 0 24px; gap: 24px; }
    .dt-picolo-title { font-size: 22px; margin-bottom: 16px; }
    .dt-picolo-desc { font-size: 13.5px; line-height: 1.55; }
    .dt-process-wrap { padding: 48px 24px; }
    .dt-proc-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
    .dt-proc-item p { font-size: 13.5px; line-height: 1.55; }
    .dt-compare-sec { padding: 36px 24px; }
    .dt-card { padding: 24px 20px; }
    .dt-card-num { font-size: 18px; }
    .dt-card-title { font-size: 17px; line-height: 1.35; }
    .dt-card-text { font-size: 13px; line-height: 1.55; }
    .sc-label { font-size: 17px; }
    .sc-intro-sec { text-align: left; }
    .sc-intro-sec p,
    .sc-scar-info ul li,
    .sc-sol-desc,
    .sc-special-desc {
      font-size: 13.5px;
      line-height: 1.55;
      text-align: left;
    }
    .sc-sol-name { font-size: 17px; line-height: 1.35; }
    .sc-special-sub,
    .sc-sol-sub { font-size: 13px; }

    /* 모바일 전체 탭 공통 정리 */
    .dm-type-sec,
    .dm-cause-sec {
      padding-top: 36px;
      padding-bottom: 48px;
    }
    .dm-process-sec,
    .dm-solution-sec,
    .dm-recommend-sec {
      padding-top: 56px;
      padding-bottom: 56px;
    }
    .dm-type-sec h2,
    .dm-cause-sec h2,
    .dm-process-hd h2,
    .dm-solution-sec h2,
    .ac-intro-left h2,
    .ac-type-sec h2,
    .ac-care-hd h2,
    .ac-sol-hd h2,
    .dt-process-wrap h2,
    .dt-proc-title,
    .sc-intro-sec h2,
    .sc-sol-sec h2,
    .sc-special-title {
      font-size: 24px !important;
      line-height: 1.32;
      margin-bottom: 24px;
      text-align: left;
    }
    .dm-process-hd {
      gap: 16px;
      margin-bottom: 22px;
    }
    .dm-step-body {
      padding: 14px 0 4px;
    }
    .dm-step-num,
    .ac-care-num {
      font-size: 11px;
      margin-bottom: 6px;
    }
    .dm-type-item p,
    .dm-cause-item p {
      font-size: 13.5px;
      line-height: 1.45;
    }
    .dm-type-img,
    .dm-cause-img {
      margin-bottom: 8px;
    }
    .dm-solution-grid,
    .dm-pigment-sol-grid,
    .ac-type-grid,
    .ac-care-grid,
    .ac-sol-row1,
    .ac-sol-row2,
    .sc-sol-grid {
      grid-template-columns: 1fr 1fr;
      gap: 24px 14px;
    }
    .ac-care-card {
      margin-top: 0;
    }
    .ac-care-img,
    .ac-sol-img,
    .sc-sol-img {
      margin-bottom: 12px;
    }
    .ac-care-title {
      line-height: 1.35;
    }
    .ac-care-grid {
      grid-template-columns: 1fr 1fr;
      gap: 24px 14px;
    }
    .dt-type-sec {
      padding: 24px 0 48px;
    }
    .dt-type-grid {
      padding: 0 24px;
    }
    .dt-type-name {
      font-size: 15px;
      line-height: 1.35;
    }
    .dt-type-sub {
      font-size: 12.5px;
      line-height: 1.4;
      margin-top: 0;
    }
    .dt-picolo-tag {
      font-size: 13px;
      margin-bottom: 8px;
    }
    .dt-process-wrap h2 {
      text-align: left;
    }
    .dt-proc-grid {
      grid-template-columns: 1fr;
      margin-top: 24px;
    }
    .dt-proc-item h3 {
      font-size: 17px;
      line-height: 1.35;
      margin-bottom: 8px;
    }
    .dt-proc-img {
      margin-bottom: 12px;
    }
    .dt-warn {
      margin: 0 24px;
      padding: 18px 20px;
    }
    .dt-warn-inner {
      align-items: flex-start;
      gap: 12px;
    }
    .dt-warn-icon {
      width: 22px;
      height: 22px;
      font-size: 12px;
    }
    .dt-warn-txt {
      font-size: 13px;
      line-height: 1.55;
    }
    .sc-scar-item {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      padding: 32px 0;
      gap: 18px;
    }
    .sc-scar-item.reverse .sc-scar-img,
    .sc-scar-item.reverse .sc-scar-info {
      order: initial;
    }
    .sc-scar-divider {
      display: none;
    }
    .sc-scar-info {
      padding: 0;
    }
    .sc-scar-info h3 {
      font-size: 18px;
      line-height: 1.35;
      margin-bottom: 12px;
    }
    .sc-scar-info h3 span {
      display: block;
      margin: 4px 0 0;
      font-size: 12.5px;
    }
    .sc-special-sec {
      text-align: left;
    }
    .sc-special-card {
      padding: 24px 20px;
      border-radius: 14px;
    }
    .sc-special-name {
      font-size: 17px;
      line-height: 1.35;
      margin-bottom: 10px;
    }

    .contact { padding: 56px 24px; }
    .contact-grid { grid-template-columns: 1fr; gap: 36px; }
    .map-box { height: 220px; min-height: unset; }

    footer { padding: 48px 24px 36px; }
    .ft-top { flex-direction: column; gap: 24px; align-items: flex-start; }
    .ft-nav { flex-wrap: wrap; gap: 16px; }
  }
  