/* 생성 파일 — 손으로 고치지 말 것. scripts/tdv2-build-assets.mjs (원본: 디자인팀 detailpage_template.html) */
#evt-tdv2 {
  all: initial;
  display: block;
  position: relative;
  width: 100%;
  overflow-x: clip;
  color: #222222;
  font-family: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", Arial, sans-serif;
  font-size: 16px;
  line-height: normal;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
#evt-tdv2 :where(*:not(svg, svg *)),
#evt-tdv2 :where(*:not(svg, svg *))::before,
#evt-tdv2 :where(*:not(svg, svg *))::after { all: revert; }
#evt-tdv2 [hidden] { display: none !important; }
/* 시안 보정: 버튼은 브라우저 기본 글꼴(Arial)을 받는다 — 시술 부위 칩·화살표 버튼이 Pretendard 가 아니었다(시안 원본도 같은 현상) */
#evt-tdv2 button { font-family: inherit; }
/* =========================================================
       GLOBAL
    ========================================================= */
    #evt-tdv2 {
      --color-text: #222222;
      --color-body: #454545;
      --color-muted: #999999;
      --color-line: #dddddd;
      --color-primary: #009191;
      --color-primary-dark: #0d5656;
      --page-width: 1200px;
    }

    #evt-tdv2, #evt-tdv2 * {
      box-sizing: border-box;
    }

    #evt-tdv2 {
      margin: 0;
      background: #ffffff;
      color: var(--color-text);
      font-family: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    #evt-tdv2 img {
      display: block;
      max-width: 100%;
    }

    #evt-tdv2 h1, #evt-tdv2 h2, #evt-tdv2 h3, #evt-tdv2 p {
      margin: 0;
    }
    
    #evt-tdv2 .mo-only {
        display: none;
    }

    /* =========================================================
       COMMON. Section System
       - 섹션 여백 / 제목 / 설명을 한 곳에서 관리
       - 섹션별 차이는 아래 CONFIG의 변수만 수정
    ========================================================= */
    #evt-tdv2 .section-space {
      padding:
        var(--section-space-top, 140px)
        var(--section-space-x, 24px)
        var(--section-space-bottom, 140px);
    }

    #evt-tdv2 .section-eyebrow {
      margin-bottom: var(--heading-eyebrow-gap, 8px);
      color: var(--heading-eyebrow-color, var(--color-primary));
      font-size: var(--heading-eyebrow-size, 16px);
      font-weight: var(--heading-eyebrow-weight, 500);
      line-height: 1.4;
    }

    #evt-tdv2 .section-title {
      color: var(--heading-title-color, var(--color-text));
      font-size: var(--heading-title-size, clamp(36px, 3vw, 46px));
      font-weight: 700;
      line-height: var(--heading-title-line, 1.2);
      letter-spacing: var(--heading-title-spacing, -0.01em);
      word-break: keep-all;
    }

    #evt-tdv2 .section-description {
      margin-top: var(--heading-description-gap, 18px);
      color: var(--heading-description-color, var(--color-body));
      font-size: var(--heading-description-size, 16px);
      line-height: var(--heading-description-line, 1.65);
      letter-spacing: -0.025em;
      word-break: keep-all;
    }

    /* =========================================================
       COMMON. Section Config
       자주 바꾸는 값은 여기만 수정
    ========================================================= */
    #evt-tdv2 .procedure-intro {
      --section-space-top: 140px;
      --section-space-bottom: 140px;
      --section-space-tablet-top: 100px;
      --section-space-tablet-bottom: 100px;
      --section-space-mobile-top: 64px;
      --section-space-mobile-bottom: 72px;
    }

    #evt-tdv2 .before-after {
      --section-space-top: 140px;
      --section-space-bottom: 140px;
      --section-space-tablet-top: 88px;
      --section-space-tablet-bottom: 82px;
      --section-space-mobile-top: 66px;
      --section-space-mobile-bottom: 68px;
      --heading-eyebrow-size: 17px;
      --heading-eyebrow-mobile-gap: 6px;
      --heading-title-size: clamp(36px, 3vw, 46px);
      --heading-title-line: 1.18;
      --heading-title-spacing: -0.02em;
      --heading-title-mobile-size: 32px;
      --heading-description-gap: 22px;
      --heading-description-size: 17px;
      --heading-description-line: 1.7;
      --heading-description-tablet-size: 15px;
      --heading-description-mobile-gap: 15px;
      --heading-description-mobile-size: 14px;

      --slider-margin-top: 48px;
      --slider-gap: 20px;
      --slider-progress-margin: 52px;
    }

    #evt-tdv2 .trust-standard {
      --section-space-top: 140px;
      --section-space-bottom: 140px;
      --section-space-tablet-top: 90px;
      --section-space-tablet-bottom: 90px;
      --section-space-mobile-top: 70px;
      --section-space-mobile-bottom: 72px;
      --heading-eyebrow-gap: 14px;
      --heading-eyebrow-color: #7ce4df;
      --heading-eyebrow-size: 17px;
      --heading-eyebrow-mobile-gap: 9px;
      --heading-title-color: #ffffff;
      --heading-title-size: clamp(36px, 3vw, 46px);
      --heading-title-line: 1.18;
      --heading-title-spacing: -0.01em;
      --heading-title-mobile-size: 31px;
      --heading-title-mobile-line: 1.22;
    }

    #evt-tdv2 .difference {
      --section-space-top: 140px;
      --section-space-bottom: 140px;
      --section-space-tablet-top: 90px;
      --section-space-tablet-bottom: 100px;
      --section-space-mobile-top: 70px;
      --section-space-mobile-bottom: 76px;
      --heading-eyebrow-gap: 9px;
      --heading-title-size: clamp(34px, 3vw, 44px);
      --heading-title-line: 1.25;
      --heading-title-spacing: -0.01em;
      --heading-title-mobile-size: 30px;
      --heading-description-gap: 20px;
      --heading-description-size: 16px;
      --heading-description-mobile-gap: 14px;
      --heading-description-mobile-size: 14px;
    }

    #evt-tdv2 .characteristics {
      --section-space-top: 140px;
      --section-space-bottom: 140px;
      --section-space-tablet-top: 90px;
      --section-space-tablet-bottom: 110px;
      --section-space-mobile-top: 70px;
      --section-space-mobile-bottom: 76px;
      --heading-eyebrow-gap: 10px;
      --heading-eyebrow-color: #9df1ed;
      --heading-eyebrow-weight: 600;
      --heading-title-color: #ffffff;
      --heading-title-size: clamp(36px, 3vw, 45px);
      --heading-title-line: 1.18;
      --heading-title-spacing: -0.01em;
      --heading-title-mobile-size: 31px;
      --heading-description-gap: 24px;
      --heading-description-color: rgba(255, 255, 255, 0.9);
      --heading-description-size: 15px;
      --heading-description-mobile-gap: 16px;
      --heading-description-mobile-size: 14px;
    }

    #evt-tdv2 .treatment-area {
      --section-space-top: 140px;
      --section-space-bottom: 140px;
      --section-space-tablet-top: 90px;
      --section-space-tablet-bottom: 100px;
      --section-space-mobile-top: 70px;
      --section-space-mobile-bottom: 76px;
      --heading-eyebrow-gap: 10px;
      --heading-title-size: clamp(34px, 3vw, 46px);
      --heading-title-line: 1.25;
      --heading-title-spacing: -0.01em;
      --heading-title-mobile-size: 30px;
      --heading-description-gap: 18px;
      --heading-description-size: 16px;
      --heading-description-mobile-gap: 14px;
      --heading-description-mobile-size: 14px;
    }

    #evt-tdv2 .checkpoint {
      --section-space-top: 140px;
      --section-space-bottom: 140px;
      --section-space-tablet-top: 90px;
      --section-space-tablet-bottom: 100px;
      --section-space-mobile-top: 70px;
      --section-space-mobile-bottom: 76px;
      --heading-title-size: clamp(36px, 3vw, 46px);
      --heading-title-spacing: -0.01em;
      --heading-title-mobile-size: 30px;
      --heading-description-gap: 18px;
      --heading-description-size: 16px;
      --heading-description-mobile-gap: 14px;
      --heading-description-mobile-size: 14px;
    }

    #evt-tdv2 .event-section {
      --section-space-top: 105px;
      --section-space-bottom: 110px;
      --section-space-tablet-top: 90px;
      --section-space-tablet-bottom: 100px;
      --section-space-mobile-top: 70px;
      --section-space-mobile-bottom: 76px;
      --heading-title-size: clamp(36px, 3vw, 46px);
      --heading-title-spacing: -0.01em;
      --heading-title-mobile-size: 30px;
      --slider-margin-top: 50px;
      --slider-gap: 20px;
      --slider-progress-margin: 50px;
    }

    #evt-tdv2 .faq-section {
      --section-space-top: 110px;
      --section-space-bottom: 110px;
      --section-space-tablet-top: 90px;
      --section-space-tablet-bottom: 90px;
      --section-space-mobile-top: 70px;
      --section-space-mobile-bottom: 76px;
      --heading-eyebrow-gap: 12px;
      --heading-eyebrow-color: #99e6e2;
      --heading-eyebrow-weight: 700;
      --heading-title-color: #ffffff;
      --heading-title-size: clamp(36px, 3vw, 46px);
      --heading-title-line: 1.18;
      --heading-title-spacing: -0.01em;
      --heading-title-mobile-size: 31px;
    }

    #evt-tdv2 .another-section {
      --section-space-top: 140px;
      --section-space-bottom: 140px;
      --section-space-tablet-top: 90px;
      --section-space-tablet-bottom: 100px;
      --section-space-mobile-top: 70px;
      --section-space-mobile-bottom: 76px;
      --heading-title-size: clamp(36px, 3vw, 46px);
      --heading-title-spacing: -0.01em;
      --heading-title-mobile-size: 30px;
      --slider-margin-top: 52px;
      --slider-gap: 34px;
      --slider-progress-margin: 44px;
    }

    /* =========================================================
       COMMON. Slider System
       - 시술전후 / 이벤트 / 다른 시술 공통
       - 카드 디자인만 각 SECTION에서 개별 관리
    ========================================================= */
    #evt-tdv2 .slider-section {
      --slider-gap: 20px;
      --slider-margin-top: 48px;
      --slider-progress-margin: 50px;
      width: 100%;
      overflow: hidden;
    }

    #evt-tdv2 .slider-section__inner {
      width: min(100%, var(--page-width));
      margin: 0 auto;
    }

    #evt-tdv2 .slider-section__header {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 40px;
    }

    #evt-tdv2 .slider-nav {
      display: flex;
      gap: 10px;
    }

    #evt-tdv2 .slider-nav__btn {
      width: 42px;
      height: 42px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid #d9dddd;
      border-radius: 50%;
      background: #ffffff;
      color: #777777;
      cursor: pointer;
      transition:
        border-color 0.45s ease,
        color 0.45s ease,
        opacity 0.45s ease;
    }

    #evt-tdv2 .slider-nav__btn:hover:not(:disabled) {
      border-color: #999999;
      color: #222222;
    }

    #evt-tdv2 .slider-nav__btn:disabled {
      opacity: 0.35;
      cursor: default;
    }

    #evt-tdv2 .slider-nav__btn svg {
      width: 20px;
      height: 20px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    #evt-tdv2 .slider-shell {
      width: 100%;
      max-width: none;
      margin-top: var(--slider-margin-top);
      overflow: visible;
    }

    #evt-tdv2 .slider-viewport {
      width: 100%;
      overflow: visible;
      cursor: grab;
      touch-action: pan-y;
      user-select: none;
      -webkit-user-select: none;
    }

    #evt-tdv2 .slider-viewport.is-dragging {
      cursor: grabbing;
    }

    #evt-tdv2 .slider-track {
      display: flex;
      gap: var(--slider-gap);
      width: max-content;
      padding-right: 0;
      transform: translate3d(0, 0, 0);
      will-change: transform;
      backface-visibility: hidden;
      -webkit-backface-visibility: hidden;
    }

    #evt-tdv2 [data-slider-card],
    #evt-tdv2 [data-slider-card] img {
      -webkit-user-drag: none;
      user-select: none;
      -webkit-user-select: none;
    }

    #evt-tdv2 .slider-progress {
      width: 100%;
      height: 6px;
      margin-top: var(--slider-progress-margin);
      overflow: hidden;
      border-radius: 999px;
      background: #d4d8d8;
    }

    #evt-tdv2 .slider-progress__bar {
      width: 0;
      height: 100%;
      border-radius: inherit;
      background: var(--color-primary-dark);
      transition: width 0.15s ease-out;
      will-change: width;
    }

    /* Slider별 값만 여기서 조절 */


    

    


    /* =========================================================
       SECTION 01. 시술 소개
    ========================================================= */
    #evt-tdv2 .procedure-intro {
      width: 100%;
      background: #ffffff;
    }

    #evt-tdv2 .procedure-intro__inner {
      width: min(100%, var(--page-width));
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
      align-items: center;
      gap: 50px;
    }

    /* Visual */
    #evt-tdv2 .procedure-intro__visual {
      width: 100%;
      overflow: hidden;
      border-radius: 20px;
      background: #f3f3f3;
    }

    #evt-tdv2 .procedure-intro__visual img {
      width: 100%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
    }

    /* Content */
    #evt-tdv2 .procedure-intro__content {
      min-width: 0;
    }

    #evt-tdv2 .procedure-intro__eyebrow {
      margin-bottom: 10px;
      color: var(--color-primary);
      font-size: 17px;
      font-weight: 500;
      line-height: 1.4;
      letter-spacing: -0.02em;
    }

    #evt-tdv2 .procedure-intro__title {
      color: var(--color-text);
      font-size: clamp(38px, 3.2vw, 50px);
      font-weight: 700;
      line-height: 1.18;
      letter-spacing: -0.02em;
    }

    #evt-tdv2 .procedure-intro__subtitle {
      margin-top: 14px;
      color: var(--color-primary);
      font-size: 22px;
      font-weight: 700;
      line-height: 1.45;
      letter-spacing: -0.02em;
    }

    #evt-tdv2 .procedure-intro__description {
      margin-top: 18px;
      color: var(--color-body);
      font-size: 18px;
      font-weight: 400;
      line-height: 1.8;
      letter-spacing: -0.025em;
      word-break: keep-all;
    }

    /* 시술정보 제목 */
    #evt-tdv2 .procedure-info__heading {
      display: flex;
      align-items: center;
      gap: 20px;
      margin-top: 48px;
    }

    #evt-tdv2 .procedure-info__heading span {
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 116px;
      height: 42px;
      padding: 0 22px;
      border-radius: 999px;
      background: var(--color-primary-dark);
      color: #ffffff;
      font-size: 20px;
      font-weight: 600;
      line-height: 1;
    }

    #evt-tdv2 .procedure-info__line {
      width: 100%;
      height: 1px;
      background: var(--color-line);
    }

    /* 시술정보 */
    #evt-tdv2 .procedure-info__grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: 20px;
      row-gap: 20px;
      margin-top: 30px;
    }

    #evt-tdv2 .procedure-info__item {
      display: grid;
      grid-template-columns: 28px 1fr;
      align-items: center;
      gap: 11px;
      min-width: 0;
    }

    #evt-tdv2 .procedure-info__item--top {
      align-items: start;
    }

    #evt-tdv2 .procedure-info__icon {
      width: 26px;
      height: 26px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #222222;
    }

    #evt-tdv2 .procedure-info__icon svg {
      display: block;
      width: 100%;
      height: 100%;
      overflow: visible;
    }

    #evt-tdv2 .procedure-info__text {
      min-width: 0;
      display: grid;
      grid-template-columns: auto 1fr;
      align-items: start;
      gap: 15px;
    }

    #evt-tdv2 .procedure-info__text strong {
      white-space: nowrap;
      color: var(--color-text);
      font-size: 16px;
      font-weight: 700;
      line-height: 1.55;
    }

    #evt-tdv2 .procedure-info__text span {
      display: block;
      color: var(--color-body);
      font-size: 16px;
      font-weight: 400;
      line-height: 1.55;
      letter-spacing: -0.02em;
      word-break: keep-all;
    }

    #evt-tdv2 .procedure-info__text small {
      display: block;
      margin-top: 4px;
      color: var(--color-muted);
      font-size: 12px;
      font-weight: 400;
      line-height: 1.4;
    }
    /* =========================================================
       MOBILE
    ========================================================= */
    

    

    /* =========================================================
       SECTION 02. 시술 전후
    ========================================================= */
    #evt-tdv2 .before-after {
      width: 100%;
      overflow: hidden;
      background: #f3f6f6;
    }


    #evt-tdv2 .before-after__inner {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: end;
    }

    #evt-tdv2 .before-after__header {
      grid-column: 1;
      grid-row: 1;
      min-width: 0;
    }

    #evt-tdv2 .before-after__actions {
      grid-column: 2;
      grid-row: 1;
      align-self: end;
      display: flex;
      align-items: center;
      gap: 12px;
    }

    #evt-tdv2 .before-after__slider-shell,
    #evt-tdv2 .before-after__progress,
    #evt-tdv2 .before-after__notice {
      grid-column: 1 / -1;
    }

    #evt-tdv2 .before-after__more {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 42px;
      padding: 0 22px;
      border-radius: 999px;
      background: var(--color-primary-dark);
      color: #ffffff;
      font-size: 16px;
      font-weight: 700;
      text-decoration: none;
      white-space: nowrap;
      transition: opacity 0.45s ease;
    }

    #evt-tdv2 .before-after__more:hover {
      opacity: 0.88;
    }


    #evt-tdv2 .before-after__card {
      flex: 0 0 520px;
      overflow: hidden;
      border: 1px solid #e7ebeb;
      border-radius: 18px;
      background: #ffffff;
      box-shadow: 0 10px 28px rgba(20, 45, 45, 0.06);
    }

    #evt-tdv2 .before-after__images {
      position: relative;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      aspect-ratio: 3 / 1;
      overflow: hidden;
      background: #e9ecec;
    }

    #evt-tdv2 .before-after__images img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      pointer-events: none;
    }

    #evt-tdv2 .before-after__images img + img {
      border-left: 3px solid #ffffff;
    }

    #evt-tdv2 .before-after__image-mark {
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: 2;
      width: 30px;
      height: 30px;
      display: grid;
      place-items: center;
      transform: translate(-50%, -50%);
      border: 3px solid #ffffff;
      border-radius: 50%;
      background: var(--color-primary-dark);
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    }

    #evt-tdv2 .before-after__image-mark svg {
      width: 14px;
      height: 14px;
      fill: none;
      stroke: #ffffff;
      stroke-width: 2.4;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    #evt-tdv2 .before-after__card-body {
      padding: 22px 24px 24px;
      text-align: center;
    }

    #evt-tdv2 .before-after__card-title {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      color: var(--color-text);
      font-size: 18px;
      font-weight: 700;
      line-height: 1.4;
    }

    #evt-tdv2 .before-after__branch {
      display: inline-flex;
      align-items: center;
      min-height: 27px;
      padding: 0 9px;
      border-radius: 5px;
      background: #e8f4f3;
      color: var(--color-primary-dark);
      font-size: 13px;
      font-weight: 700;
      white-space: nowrap;
    }

    #evt-tdv2 .before-after__date {
      margin-top: 7px;
      color: #7b8181;
      font-size: 14px;
      line-height: 1.5;
      letter-spacing: -0.02em;
    }


    #evt-tdv2 .before-after__notice {
      margin-top: 42px;
      color: #808686;
      font-size: 14px;
      line-height: 1.8;
      text-align: center;
      letter-spacing: -0.015em;
    }
    /* =========================================================
       SECTION 03. Trust & Standard
    ========================================================= */
    #evt-tdv2 .trust-standard {
      width: 100%;
      min-height: 680px;
      background-color: #0d5656; /* 이미지 로딩 실패 시 fallback */
      background-image: url("img/trust-standard-pc.webp");
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
      color: #ffffff;
    }

    #evt-tdv2 .trust-standard__inner {
      width: min(100%, var(--page-width));
      margin: 0 auto;
    }

    /* 상단 텍스트 */
/* 카드 */
    #evt-tdv2 .trust-standard__cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      margin-top: 62px;
    }

    #evt-tdv2 .trust-standard__card {
      position: relative;
      overflow: hidden;
      min-height: auto;
      padding: 43px 48px;
      border-radius: 20px;
      border: 1px solid rgba(170, 255, 247, 0.16);
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.10) 0%, rgba(255, 255, 255, 0.05) 18%, rgba(11, 45, 47, 0.34) 55%, rgba(6, 24, 26, 0.42) 100%);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), inset 0 0 18px rgba(132, 255, 246, 0.04), 0 10px 30px rgba(0, 0, 0, 0.22), 0 0 24px rgba(74, 214, 205, 0.08);
      backdrop-filter: blur(4px) saturate(130%);
      -webkit-backdrop-filter: blur(4px) saturate(130%);
    }

    #evt-tdv2 .trust-standard__card::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.05) 18%, rgba(255, 255, 255, 0.00) 42%);
      pointer-events: none;
    }

    #evt-tdv2 .trust-standard__number {
      display: block;
      margin-bottom: 4px;
      color: #9bf7f1;
      font-size: 23px;
      font-weight: 700;
      line-height: 1.3;
      text-shadow: 0 0 10px rgba(117, 238, 229, 0.18);
    }

    #evt-tdv2 .trust-standard__card-title {
      color: rgba(255, 255, 255, 0.96);
      font-size: 21px;
      font-weight: 700;
      line-height: 1.4;
      letter-spacing: -0.035em;
    }

    #evt-tdv2 .trust-standard__card-description {
      margin-top: 10px;
      color: rgba(255, 255, 255, 0.82);
      font-size: 16px;
      font-weight: 400;
      line-height: 1.55;
      letter-spacing: -0.025em;
      word-break: keep-all;
    }
    /* =========================================================
       SECTION 04. Difference
    ========================================================= */
    #evt-tdv2 .difference {
      width: 100%;
      background: #ffffff;
    }

    #evt-tdv2 .difference__inner {
      width: min(100%, 1080px);
      margin: 0 auto;
    }

    /* 상단 타이틀 */
    #evt-tdv2 .difference__heading {
      text-align: center;
    }

/* 탭 */
    #evt-tdv2 .difference__tabs {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      margin-top: 46px;
    }

    #evt-tdv2 .difference__tab {
      min-height: 48px;
      padding: 0 28px;
      border: 1px solid #dddddd;
      border-radius: 999px;
      background: #fafafa;
      color: #555555;
      font: inherit;
      font-size: 18px;
      font-weight: 700;
      cursor: pointer;
      transition:
        background 0.45s ease,
        color 0.45s ease,
        border-color 0.45s ease,
        box-shadow 0.45s ease;
    }

    #evt-tdv2 .difference__tab:hover {
      border-color: #b9caca;
    }

    #evt-tdv2 .difference__tab.is-active {
      border-color: var(--color-primary-dark);
      background: var(--color-primary-dark);
      color: #ffffff;
      box-shadow: 0 7px 18px rgba(0, 108, 103, 0.13);
    }

    /* 비교 영역 */
    #evt-tdv2 .difference__compare {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 36px;
      margin-top: 28px;
    }

    #evt-tdv2 .difference__column {
      min-width: 0;
    }

    /* 제품명 헤더 */
    #evt-tdv2 .difference__product {
      min-height: 68px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 14px 20px;
      border: 1px solid #d9dddd;
      border-radius: 8px;
      background: #f8f9f9;
      color: var(--color-text);
      font-size: 20px;
      font-weight: 700;
      line-height: 1.4;
      text-align: center;
    }

    #evt-tdv2 .difference__column--prime .difference__product {
      border-color: var(--color-primary-dark);
      background: var(--color-primary-dark);
      color: #ffffff;
    }

    /* 정보 박스 */
    #evt-tdv2 .difference__box {
      margin-top: 18px;
      padding: 12px 34px;
      border: 1px solid #dcdede;
      border-radius: 9px;
      background: #ffffff;
    }

    #evt-tdv2 .difference__column--prime .difference__box {
      background: #f4fbfa;
    }

    /* 항목 */
    #evt-tdv2 .difference__item {
      padding: 20px 0;
    }

    #evt-tdv2 .difference__item + .difference__item {
      border-top: 1px solid #d5d9d9;
    }

    #evt-tdv2 .difference__label {
      margin-bottom: 6px;
      color: var(--color-primary-dark);
      font-size: 14px;
      font-weight: 700;
      line-height: 1.4;
    }

    #evt-tdv2 .difference__value {
      color: #333333;
      font-size: 17px;
      font-weight: 400;
      line-height: 1.5;
      letter-spacing: -0.025em;
      word-break: keep-all;
    }

    /* 탭 패널 */
    #evt-tdv2 .difference__panel[hidden] {
      display: none;
    }
    /* =========================================================
       SECTION 05. Characteristics
    ========================================================= */
    #evt-tdv2 .characteristics {
      width: 100%;
      background: 
        radial-gradient(
          circle at 18% 18%, 
          rgba(94, 221, 214, 0.16) 0%, 
          rgba(94, 221, 214, 0) 28%
        ), 
        radial-gradient(
            circle at 85% 82%, 
            rgba(0, 0, 0, 0.12) 0%, 
            rgba(0, 0, 0, 0) 34%
        ), 
        linear-gradient(
            180deg, #317370 0%, #185755 30%,  #044542 100%
        );
    }

    #evt-tdv2 .characteristics__inner {
      width: min(100%, var(--page-width));
      margin: 0 auto;
      display: grid;
      grid-template-columns: 350px minmax(0, 1fr);
      gap: 50px;
      align-items: start;
      justify-content: space-between;
    }

    /* LEFT - Sticky 영역 */
    #evt-tdv2 .characteristics__sticky {
      position: sticky;
      top: 110px;
      align-self: start;
    }

/* RIGHT - Scroll List */
    #evt-tdv2 .characteristics__list {
      display: flex;
      flex-direction: column;
      gap: 72px;
      padding-top: 8px;
    }

    /* 카드 */
    #evt-tdv2 .characteristics__card {
      display: grid;
      grid-template-columns: 38% 62%;
      overflow: hidden;
      border-radius: 18px;
      background: #ffffff;
    }

    /* 이미지 */
    #evt-tdv2 .characteristics__visual {
      width: 100%;
      aspect-ratio: 1 / 1;
      min-width: 0;
      overflow: hidden;
      background: #f1f1f1;
    }

    #evt-tdv2 .characteristics__visual img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    /* 텍스트 */
    #evt-tdv2 .characteristics__content {
      min-width: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 42px 48px;
    }

    #evt-tdv2 .characteristics__point {
      margin-bottom: 4px;
      color: var(--color-primary);
      font-size: 16px;
      font-weight: 700;
      line-height: 1.4;
    }

    #evt-tdv2 .characteristics__card-title {
      margin: 0;
      color: #222222;
      font-size: 22px;
      font-weight: 700;
      line-height: 1.45;
      letter-spacing: -0.035em;
      word-break: keep-all;
    }
/* =========================================================
       SECTION 06. Treatment Area
    ========================================================= */
    #evt-tdv2 .treatment-area {
      width: 100%;
      background: #ffffff;
    }

    #evt-tdv2 .treatment-area__inner {
      width: min(100%, 1100px);
      margin: 0 auto;
    }

    #evt-tdv2 .treatment-area__heading {
      text-align: center;
    }

/* 보드 */
    #evt-tdv2 .treatment-area__board {
      position: relative;
      margin-top: 44px;
      padding: 0 32px;
      border: 1px solid #d8dddd;
      border-radius: 32px;
      background: #f7f9f9;
      overflow: hidden;
    }

    /* 얼굴 / 바디 스위치 */
    #evt-tdv2 .treatment-area__switch {
      position: absolute;
      top: 18px;
      left: 18px;
      z-index: 20;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      padding: 5px;
      border-radius: 999px;
      background: var(--color-primary-dark);
      overflow: hidden;
    }

    #evt-tdv2 .treatment-area__switch-indicator {
      position: absolute;
      top: 5px;
      left: 5px;
      width: calc(50% - 5px);
      height: calc(100% - 10px);
      border-radius: 999px;
      background: #ffffff;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
      transform: translateX(0);
      transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), width 0.35s ease;
    }

    #evt-tdv2 .treatment-area__switch.is-body .treatment-area__switch-indicator {
      transform: translateX(100%);
    }

    #evt-tdv2 .treatment-area__switch-btn {
      position: relative;
      z-index: 2;
      min-width: 70px;
      height: 38px;
      padding: 0 18px;
      border: 0;
      border-radius: 999px;
      background: transparent;
      color: rgba(255, 255, 255, 0.88);
      font: inherit;
      font-size: 18px;
      font-weight: 700;
      cursor: pointer;
      transition: color 0.3s ease;
    }

    #evt-tdv2 .treatment-area__switch-btn.is-active {
      background: transparent;
      color: var(--color-primary-dark);
    }

    /* 패널 */
    #evt-tdv2 .treatment-area__panel[hidden] {
      display: none;
    }

    #evt-tdv2 .treatment-area__panel {
      position: relative;
      width: 100%;
      height: 560px;
    }

    #evt-tdv2 .treatment-area__panel--face,
    #evt-tdv2 .treatment-area__panel--body {
      height: 560px;
    }

    /* 이미지 + 좌표 기준 영역 */
    #evt-tdv2 .treatment-area__figure {
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translateX(-50%);
      margin: 0;
      overflow: visible;
    }

    /* 얼굴 */
    #evt-tdv2 .treatment-area__figure--face {
      width: min(600px, 100%);
    }

    #evt-tdv2 .treatment-area__figure--face img {
      display: block;
      width: 100%;
      height: auto;
    }

    /* 바디 */
    #evt-tdv2 .treatment-area__figure--body {
      height: 100%;
    }

    #evt-tdv2 .treatment-area__figure--body img {
      display: block;
      width: auto;
      height: 100%;
      max-width: none;
    }

    /* 포인트 */
    #evt-tdv2 .treatment-area__spot {
      position: absolute;
      top: var(--y);
      left: var(--x);
      z-index: 10;
      display: inline-flex;
      align-items: center;
      gap: 0;
      padding: 0;
      border: 0;
      background: transparent;
      cursor: pointer;
    }

    #evt-tdv2 .treatment-area__spot--right {
      transform: translate(0, -50%);
    }

    #evt-tdv2 .treatment-area__spot--left {
      transform: translate(-100%, -50%);
      flex-direction: row-reverse;
    }

    #evt-tdv2 .treatment-area__dot {
      position: relative;
      flex: 0 0 auto;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      border: 3px solid #15aaa5;
      background: #ffffff;
      box-shadow: 0 0 0 3px rgba(21, 170, 165, 0.12);
      transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
    }

    #evt-tdv2 .treatment-area__dot::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #15aaa5;
      transform: translate(-50%, -50%);
    }

    #evt-tdv2 .treatment-area__line {
      width: var(--line, 140px);
      height: 1px;
      border-top: 1px dashed #82cfcc;
      transition: border-color 0.2s ease;
    }

    #evt-tdv2 .treatment-area__chip {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 12px 24px;
      border: 1px solid #d8dddd;
      border-radius: 10px;
      background: #ffffff;
      color: #4a4a4a;
      font-size: 16px;
      font-weight: 500;
      line-height: 1.2;
      text-align: center;
      white-space: normal;
      word-break: keep-all;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
      transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    }

    #evt-tdv2 .treatment-area__chip--multi {
      min-width: 188px;
      padding-left: 20px;
      padding-right: 20px;
    }

    #evt-tdv2 .treatment-area__spot:hover .treatment-area__chip,
    #evt-tdv2 .treatment-area__spot:focus-visible .treatment-area__chip {
      background: var(--color-primary-dark);
      border-color: var(--color-primary-dark);
      color: #ffffff;
      box-shadow: 0 8px 18px rgba(0, 108, 103, 0.16);
    }

    #evt-tdv2 .treatment-area__spot:hover .treatment-area__dot,
    #evt-tdv2 .treatment-area__spot:focus-visible .treatment-area__dot {
      transform: scale(1.12);
      border-color: #0c938e;
      background: #ffffff;
      box-shadow: 0 0 0 5px rgba(21, 170, 165, 0.17), 0 0 20px rgba(21, 170, 165, 0.24);
    }

    #evt-tdv2 .treatment-area__spot:hover .treatment-area__dot::after,
    #evt-tdv2 .treatment-area__spot:focus-visible .treatment-area__dot::after {
      background: #087c77;
    }

    #evt-tdv2 .treatment-area__spot:hover .treatment-area__line,
    #evt-tdv2 .treatment-area__spot:focus-visible .treatment-area__line {
      border-color: #0fa39e;
    }

    #evt-tdv2 .treatment-area__spot:focus-visible {
      outline: none;
    }
    /* =========================================================
       SECTION 07. Check Point
    ========================================================= */
    #evt-tdv2 .checkpoint {
      width: 100%;
      background: #f4f7f7;
    }

    #evt-tdv2 .checkpoint__inner {
      width: min(100%, var(--page-width));
      margin: 0 auto;
    }

    /* 상단 */
/* 카드 영역 */
    #evt-tdv2 .checkpoint__grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 36px;
      margin-top: 48px;
    }

    #evt-tdv2 .checkpoint__card {
      position: relative;
      min-height: 440px;
      padding: 48px 44px 34px;
      overflow: hidden;
      border: 1px solid #d9dddd;
      border-radius: 28px;
      background: #ffffff;
      box-shadow: 0 7px 18px rgba(21, 48, 48, 0.035);
    }

    /* 상단 녹색 라인 */
    #evt-tdv2 .checkpoint__card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 8px;
      background: var(--color-primary-dark);
    }

    /* 카드 제목 */
    #evt-tdv2 .checkpoint__card-title {
      margin: 0;
      color: var(--color-text);
      font-size: 31px;
      font-weight: 700;
      line-height: 1.35;
      letter-spacing: -0.02em;
    }

    #evt-tdv2 .checkpoint__card-description {
      margin-top: 16px;
      color: var(--color-body);
      font-size: 16px;
      line-height: 1.6;
      letter-spacing: -0.025em;
    }

    /* 리스트 */
    #evt-tdv2 .checkpoint__list {
      margin: 20px 0 0;
      padding: 0;
      list-style: none;
    }

    #evt-tdv2 .checkpoint__item {
      display: flex;
      align-items: center;
      gap: 14px;
      min-height: 70px;
      padding: 20px 0;
      color: #333333;
      font-size: 16px;
      line-height: 1.55;
      letter-spacing: -0.025em;
    }

    #evt-tdv2 .checkpoint__item + .checkpoint__item {
      border-top: 1px solid #dddddd;
    }

    /* 왼쪽 체크 아이콘 */
    #evt-tdv2 .checkpoint__check {
      flex: 0 0 auto;
      width: 22px;
      height: 22px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #009f99;
    }

    #evt-tdv2 .checkpoint__check svg {
      width: 100%;
      height: 100%;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.4;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    /* 오른쪽 번호 */
    #evt-tdv2 .checkpoint__number {
      flex: 0 0 auto;
      min-width: 28px;
      color: var(--color-primary);
      font-size: 16px;
      font-weight: 700;
      line-height: 1.4;
    }
    /* =========================================================
       SECTION 08. Event Slider
    ========================================================= */
    #evt-tdv2 .event-section {
      width: 100%;
      overflow: hidden;
      background: #ffffff;
    }


    /* HEADER */

/* 우측 버튼 */
    #evt-tdv2 .event-section__inner {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: end;
    }

    #evt-tdv2 .event-section__header {
      grid-column: 1;
      grid-row: 1;
      min-width: 0;
    }

    #evt-tdv2 .event-section__actions {
      grid-column: 2;
      grid-row: 1;
      align-self: end;

      display: flex;
      align-items: center;
      gap: 12px;
    }

    #evt-tdv2 .event-section__slider-shell,
    #evt-tdv2 .event-section__progress {
      grid-column: 1 / -1;
    }

    #evt-tdv2 .event-section__more {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 42px;
      padding: 0 22px;
      border-radius: 999px;
      background: var(--color-primary-dark);
      color: #ffffff;
      font-size: 16px;
      font-weight: 700;
      text-decoration: none;
      white-space: nowrap;
    }


    /* SLIDER */


    /* EVENT CARD */
    #evt-tdv2 .event-card {
      flex: 0 0 590px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 200px;
      gap: 24px;
      min-height: 262px;
      padding: 30px;
      overflow: hidden;
      border: 1px solid #d9dddd;
      border-radius: 20px;
      background: #f8fafa;
      color: inherit;
      text-decoration: none;
      transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s ease, border-color 0.6s ease;
    }

    #evt-tdv2 .event-card:hover {
      transform: translateY(-3px);
      border-color: #c6d3d3;
      box-shadow: 0 10px 24px rgba(17, 52, 52, 0.07);
    }

    /* 카드 내용 */
    #evt-tdv2 .event-card__content {
      min-width: 0;
      display: flex;
      flex-direction: column;
    }

    #evt-tdv2 .event-card__period {
      color: #2b2b2b;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.45;
    }

    #evt-tdv2 .event-card__title {
      margin: 4px 0 0;
      color: #222222;
      font-size: 19px;
      font-weight: 700;
      line-height: 1.4;
      letter-spacing: -0.03em;
      word-break: keep-all;
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }

    #evt-tdv2 .event-card__description {
      margin-top: 30px;
      min-height: 3.2em;
      color: #777777;
      font-size: 13px;
      line-height: 1.6;
      letter-spacing: -0.02em;
      word-break: keep-all;
    }

    /* 가격 */
    #evt-tdv2 .event-card__price {
      display: flex;
      align-items: baseline;
      margin-top: 14px;
      color: #333333;
    }

    #evt-tdv2 .event-card__price strong {
      color: #ff1717;
      font-size: 27px;
      font-weight: 700;
      line-height: 1;
    }

    #evt-tdv2 .event-card__price span {
      margin-left: 3px;
      font-size: 12px;
      font-weight: 500;
    }

    /* D-day */
    #evt-tdv2 .event-card__bottom {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-top: auto;
      padding-top: 18px;
    }

    #evt-tdv2 .event-card__dday {
      flex: 0 0 auto;
      color: var(--color-primary);
      font-size: 14px;
      font-weight: 700;
    }

    #evt-tdv2 .event-card__mini-progress {
      flex: 1;
      height: 6px;
      overflow: hidden;
      border-radius: 999px;
      background: #dddddd;
    }

    #evt-tdv2 .event-card__mini-progress span {
      display: block;
      width: 0;
      height: 100%;
      border-radius: inherit;
      background: var(--color-primary);
      transition: width 0.6s ease;
    }

    /* 이미지 */
    #evt-tdv2 .event-card__visual {
      width: 200px;
      height: 200px;
      align-self: center;
      overflow: hidden;
      border-radius: 11px;
      background: #eeeeee;
    }

    #evt-tdv2 .event-card__visual img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      pointer-events: none;
    }

    /* MAIN PROGRESS */
    /* =========================================================
       SECTION 09. FAQ
    ========================================================= */
    #evt-tdv2 .faq-section {
      width: 100%;
      background: linear-gradient(180deg, #1d6d6d 0%, #004444 100%);
      color: #ffffff;
    }

    #evt-tdv2 .faq-section__inner {
      width: min(100%, var(--page-width));
      margin: 0 auto;
      display: grid;
      grid-template-columns: 350px minmax(0, 1fr);
      align-items: center;
      gap: 70px;
    }

    /* 왼쪽 */
#evt-tdv2 .faq-section__more {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 42px;
      margin-top: 34px;
      padding: 0 22px;
      border-radius: 999px;
      background: #ffffff;
      color: var(--color-primary-dark);
      font-size: 17px;
      font-weight: 700;
      text-decoration: none;
      transition:
        transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
        background 0.45s ease;
    }

    #evt-tdv2 .faq-section__more:hover {
      transform: translateY(-2px);
      background: #f1f8f8;
    }

    /* 오른쪽 FAQ 박스 */
    #evt-tdv2 .faq-section__list {
      overflow: hidden;
      border-radius: 20px;
      background: #ffffff;
      padding: 10px 0;
    }

    #evt-tdv2 .faq-section__item {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) 28px;
      align-items: center;
      gap: 16px;
      min-height: 80px;
      padding: 20px 0;
      margin: 0 32px;
      color: #222222;
      text-decoration: none;
      transition:
        background 0.45s ease,
        padding-left 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    }

    #evt-tdv2 .faq-section__item + .faq-section__item {
      border-top: 1px solid #dddddd;
    }

    #evt-tdv2 .faq-section__item:hover {
      background: #f7fbfb;
    }

    #evt-tdv2 .faq-section__category {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 28px;
      padding: 0 9px;
      border-radius: 5px;
      background: #e7f3f2;
      color: #176b68;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
    }

    #evt-tdv2 .faq-section__question {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-size: 18px;
      font-weight: 700;
      line-height: 1.5;
      letter-spacing: -0.025em;
    }

    #evt-tdv2 .faq-section__arrow {
      display: flex;
      align-items: center;
      justify-content: center;
      color: #222222;
      transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    }

    #evt-tdv2 .faq-section__arrow svg {
      width: 22px;
      height: 22px;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    #evt-tdv2 .faq-section__item:hover .faq-section__arrow {
      transform: translateX(3px);
    }
/* =========================================================
       SECTION 10. Another Treatment
    ========================================================= */
    #evt-tdv2 .another-section {
      width: 100%;
      overflow: hidden;
      background: #ffffff;
    }


    /* Header */

/* Navigation */


    /* Slider */


    /* Card */
    #evt-tdv2 .another-card {
      flex: 0 0 338px;
      overflow: hidden;
      border: 1px solid #d9dddd;
      border-radius: 18px;
      background: #ffffff;
      color: inherit;
      text-decoration: none;
      box-shadow: 0 10px 28px rgba(20, 45, 45, 0.045);
      transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s ease, border-color 0.6s ease;
      -webkit-user-drag: none;
      user-select: none;
    }

    #evt-tdv2 .another-card:hover {
      transform: translateY(-4px);
      border-color: #c7d1d1;
      box-shadow: 0 14px 32px rgba(20, 45, 45, 0.08);
    }

    /* Image */
    #evt-tdv2 .another-card__visual {
      width: 100%;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      background: #eeeeee;
    }

    #evt-tdv2 .another-card__visual img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      -webkit-user-drag: none;
      user-select: none;
    }

    /* Content */
    #evt-tdv2 .another-card__content {
      min-height: 168px;
      padding: 30px 24px;
      text-align: center;
    }

    #evt-tdv2 .another-card__en {
      color: #444444;
      font-size: 13px;
      font-weight: 500;
      line-height: 1.4;
    }

    #evt-tdv2 .another-card__title {
      margin: 3px 0 0;
      color: #222222;
      font-size: 22px;
      font-weight: 700;
      line-height: 1.4;
      letter-spacing: -0.035em;
    }

    #evt-tdv2 .another-card__description {
      margin-top: 15px;
      color: #555555;
      font-size: 14px;
      line-height: 1.55;
      letter-spacing: -0.025em;
      word-break: keep-all;
    }

    /* Progress */

    /* =========================================================
       COMMON. Motion & Micro Interaction
       - 과하지 않은 스크롤 등장 / 카드 반응 / 탭 전환 / 포인트 펄스
       - prefers-reduced-motion 환경에서는 자동 비활성화
    ========================================================= */
    #evt-tdv2 .reveal-item {
      opacity: 0;
      translate: 0 18px;
      transition:
        opacity 1.32s cubic-bezier(0.16, 1, 0.3, 1),
        translate 1.15s cubic-bezier(0.16, 1, 0.3, 1);
      transition-delay: var(--reveal-delay, 0ms);
    }

    #evt-tdv2 .reveal-item.is-revealed {
      opacity: 1;
      translate: 0 0;
    }

    /* Intro visual: 첫 등장 시 아주 느린 zoom-out */
    #evt-tdv2 .procedure-intro__visual {
      isolation: isolate;
    }

    #evt-tdv2 .procedure-intro__visual img {
      will-change: transform, opacity;
    }

    #evt-tdv2 .procedure-intro__visual.reveal-item.is-revealed img {
      animation: introVisualIn 2.05s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
      transform-origin: 50% 48%;
    }

    @keyframes introVisualIn {
      from {
        opacity: 0.76;
        transform: translateY(14px) scale(1.09);
        filter: blur(3px);
      }
      38% {
        opacity: 0.92;
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
      }
    }

    /* Intro text: 상단 설명 / 하단 시술정보를 두 덩이로 자연스럽게 등장 */
    #evt-tdv2 .procedure-intro__hero-text,
    #evt-tdv2 .procedure-intro__info-block {
      opacity: 0;
      transform: translateY(20px);
      filter: blur(2px);
      animation: introContentIn 1.18s cubic-bezier(0.16, 1, 0.3, 1) both;
    }

    #evt-tdv2 .procedure-intro__hero-text {
      animation-delay: 0.18s;
    }

    #evt-tdv2 .procedure-intro__info-block {
      animation-delay: 0.48s;
    }

    @keyframes introContentIn {
      from {
        opacity: 0;
        transform: translateY(20px);
        filter: blur(2px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
      }
    }

    /* Characteristics는 조금 더 느리고 묵직하게 떠오르는 느낌 */
    #evt-tdv2 .characteristics__sticky.reveal-item {
      translate: 0 30px;
      scale: 0.985;
      filter: blur(3px);
      transition:
        opacity 1.24s cubic-bezier(0.16, 1, 0.3, 1),
        translate 1.24s cubic-bezier(0.16, 1, 0.3, 1),
        scale 1.24s cubic-bezier(0.16, 1, 0.3, 1),
        filter 0.9s ease;
    }

    #evt-tdv2 .characteristics__sticky.reveal-item.is-revealed {
      translate: 0 0;
      scale: 1;
      filter: blur(0);
    }

    #evt-tdv2 .characteristics__card.reveal-item {
      translate: 0 42px;
      scale: 0.975;
      filter: blur(2px);
      transition:
        opacity 1.15s cubic-bezier(0.16, 1, 0.3, 1),
        translate 1.32s cubic-bezier(0.16, 1, 0.3, 1),
        scale 1.32s cubic-bezier(0.16, 1, 0.3, 1),
        filter 0.95s ease,
        transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.6s ease,
        border-color 0.6s ease;
    }

    #evt-tdv2 .characteristics__card.reveal-item.is-revealed {
      translate: 0 0;
      scale: 1;
      filter: blur(0);
    }

    /* Check Point 카드도 아래에서 천천히 떠오르도록 */
    #evt-tdv2 .checkpoint__card.reveal-item {
      translate: 0 36px;
      scale: 0.982;
      filter: blur(2px);
      transition:
        opacity 1.20s cubic-bezier(0.16, 1, 0.3, 1),
        translate 1.20s cubic-bezier(0.16, 1, 0.3, 1),
        scale 1.20s cubic-bezier(0.16, 1, 0.3, 1),
        filter 0.9s ease,
        transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.6s ease,
        border-color 0.6s ease;
    }

    #evt-tdv2 .checkpoint__card.reveal-item.is-revealed {
      translate: 0 0;
      scale: 1;
      filter: blur(0);
    }

    /* Trust & Standard 카드도 Check Point와 같은 속도로 부드럽게 떠오르도록 */
    #evt-tdv2 .trust-standard__card.reveal-item {
      translate: 0 36px;
      scale: 0.982;
      filter: blur(2px);
      transition:
        opacity 1.05s cubic-bezier(0.16, 1, 0.3, 1),
        translate 1.05s cubic-bezier(0.16, 1, 0.3, 1),
        scale 1.05s cubic-bezier(0.16, 1, 0.3, 1),
        filter 0.9s ease,
        transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow 0.6s ease,
        border-color 0.6s ease;
    }

    #evt-tdv2 .trust-standard__card.reveal-item.is-revealed {
      translate: 0 0;
      scale: 1;
      filter: blur(0);
    }

    @media (hover: hover) and (pointer: fine) {
      /* 카드 내부 이미지는 카드보다 한 박자 느리게 아주 살짝 확대 */
      #evt-tdv2 .event-card__visual img,
      #evt-tdv2 .another-card__visual img,
      #evt-tdv2 .characteristics__visual img {
        transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        will-change: transform;
      }

      #evt-tdv2 .event-card:hover .event-card__visual img,
      #evt-tdv2 .another-card:hover .another-card__visual img,
      #evt-tdv2 .characteristics__card:hover .characteristics__visual img {
        transform: scale(1.035);
      }

      /* 모든 주요 카드의 hover 속도와 이동감을 동일하게 */
      #evt-tdv2 .before-after__card,
      #evt-tdv2 .event-card,
      #evt-tdv2 .another-card,
      #evt-tdv2 .trust-standard__card,
      #evt-tdv2 .characteristics__card,
      #evt-tdv2 .checkpoint__card {
        transition:
          transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
          box-shadow 0.6s ease,
          border-color 0.6s ease;
      }

      /* reveal-item이 붙은 카드는 기존 등장 transition도 함께 유지 */
      #evt-tdv2 .trust-standard__card.reveal-item,
      #evt-tdv2 .characteristics__card.reveal-item,
      #evt-tdv2 .checkpoint__card.reveal-item {
        transition:
          opacity var(--card-reveal-duration, 1.05s) cubic-bezier(0.16, 1, 0.3, 1),
          translate var(--card-reveal-duration, 1.05s) cubic-bezier(0.16, 1, 0.3, 1),
          scale var(--card-reveal-duration, 1.05s) cubic-bezier(0.16, 1, 0.3, 1),
          filter 0.9s ease,
          transform 0.6s cubic-bezier(0.16, 1, 0.3, 1),
          box-shadow 0.6s ease,
          border-color 0.6s ease;
      }

      #evt-tdv2 .characteristics__card.reveal-item {
        --card-reveal-duration: 1.15s;
      }

      #evt-tdv2 .before-after__card:hover,
      #evt-tdv2 .event-card:hover,
      #evt-tdv2 .another-card:hover,
      #evt-tdv2 .trust-standard__card:hover,
      #evt-tdv2 .characteristics__card:hover,
      #evt-tdv2 .checkpoint__card:hover {
        transform: translateY(-5px);
      }

      #evt-tdv2 .before-after__card:hover {
        border-color: #d7e0e0;
        box-shadow: 0 16px 34px rgba(20, 45, 45, 0.09);
      }

      #evt-tdv2 .event-card:hover {
        border-color: #c6d3d3;
        box-shadow: 0 16px 34px rgba(17, 52, 52, 0.09);
      }

      #evt-tdv2 .another-card:hover {
        border-color: #c7d1d1;
        box-shadow: 0 16px 34px rgba(20, 45, 45, 0.09);
      }

      #evt-tdv2 .trust-standard__card:hover {
        border-color: rgba(170, 255, 247, 0.28);
        box-shadow:
          inset 0 1px 0 rgba(255, 255, 255, 0.18),
          inset 0 0 18px rgba(132, 255, 246, 0.05),
          0 18px 40px rgba(0, 0, 0, 0.23),
          0 0 30px rgba(74, 214, 205, 0.10);
      }

      #evt-tdv2 .characteristics__card:hover {
        box-shadow: 0 20px 42px rgba(6, 49, 47, 0.15);
      }

      #evt-tdv2 .checkpoint__card:hover {
        border-color: #ccd7d7;
        box-shadow: 0 16px 34px rgba(21, 48, 48, 0.075);
      }
    }

    /* Treatment Area 얼굴/바디 전환 시 이미지만 부드럽게 등장 */
    #evt-tdv2 .treatment-area__panel.is-switching-in .treatment-area__figure > img {
      animation: treatmentImageIn 0.88s cubic-bezier(0.16, 1, 0.3, 1) both;
    }

    @keyframes treatmentImageIn {
      from {
        opacity: 0;
        translate: 0 10px;
        scale: 0.985;
        filter: blur(2px);
      }
      to {
        opacity: 1;
        translate: 0 0;
        scale: 1;
        filter: blur(0);
      }
    }

    #evt-tdv2 .difference__panel.is-switching-in {
      animation: differencePanelIn 0.56s cubic-bezier(0.16, 1, 0.3, 1) both;
    }

    @keyframes differencePanelIn {
      from {
        opacity: 0;
        transform: translateY(5px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    #evt-tdv2 .treatment-area__dot::before {
      content: "";
      position: absolute;
      inset: -7px;
      border: 1px solid rgba(21, 170, 165, 0.52);
      border-radius: 50%;
      opacity: 0;
      pointer-events: none;
    }

    #evt-tdv2 .treatment-area__panel.is-pulse .treatment-area__dot::before {
      animation: treatmentPointPulse 1.6s cubic-bezier(0.16, 1, 0.3, 1) 2;
      animation-delay: var(--pulse-delay, 0ms);
    }

    @keyframes treatmentPointPulse {
      0% {
        opacity: 0;
        transform: scale(0.72);
      }
      24% {
        opacity: 0.8;
      }
      100% {
        opacity: 0;
        transform: scale(1.65);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      #evt-tdv2 .reveal-item,
      #evt-tdv2 .reveal-item.is-revealed {
        opacity: 1;
        translate: none;
        transition: none;
      }

      #evt-tdv2 .difference__panel.is-switching-in,
      #evt-tdv2 .treatment-area__panel.is-switching-in .treatment-area__figure > img,
      #evt-tdv2 .treatment-area__panel.is-pulse .treatment-area__dot::before,
      #evt-tdv2 .procedure-intro__visual.reveal-item.is-revealed img,
      #evt-tdv2 .procedure-intro__hero-text,
      #evt-tdv2 .procedure-intro__info-block {
        opacity: 1;
        transform: none;
        filter: none;
        animation: none;
      }

      #evt-tdv2 .trust-standard__card,
      #evt-tdv2 .characteristics__card,
      #evt-tdv2 .checkpoint__card,
      #evt-tdv2 .event-card__visual img,
      #evt-tdv2 .another-card__visual img,
      #evt-tdv2 .characteristics__visual img {
        transition: none;
      }
    }

    /* =========================================================
       RESPONSIVE. Centralized Media Queries
       - 미디어쿼리는 아래에서만 관리
    ========================================================= */

    @media (max-width: 1024px) {

      /* COMMON. Section spacing / heading */
      #evt-tdv2 .section-space {
        padding:
          var(--section-space-tablet-top, 90px)
          var(--section-space-tablet-x, 32px)
          var(--section-space-tablet-bottom, 100px);
      }

      #evt-tdv2 .section-description {
        font-size: var(
          --heading-description-tablet-size,
          var(--heading-description-size, 16px)
        );
      }

      #evt-tdv2 .another-section {
        --slider-gap: 22px;
      }


      #evt-tdv2 .procedure-intro__inner {
        gap: 42px;
      }
      #evt-tdv2 .procedure-intro__eyebrow {
      margin-bottom: 8px;
      }
      #evt-tdv2 .procedure-intro__subtitle {
        font-size: 19px;
        margin-top: 10px;
      }
      #evt-tdv2 .procedure-intro__description {
        font-size: 15px;
        margin-top: 10px;
      }
      #evt-tdv2 .procedure-info__heading {
        margin-top: 40px;
      }
      #evt-tdv2 .procedure-info__heading span {
        font-size: 18px;
        height: 38px;
      } 

      #evt-tdv2 .procedure-info__grid {
        column-gap: 10px;
        row-gap: 20px;
        margin-top: 20px;
      }
      #evt-tdv2 .procedure-info__text {
        gap: 0;
        grid-template-columns: none;
        
      }

      #evt-tdv2 .procedure-info__text strong,
      #evt-tdv2 .procedure-info__text span {
        font-size: 15px;
      }
      #evt-tdv2 .procedure-info__item {
        gap: 10px;
        align-items: start;
      }
      #evt-tdv2 .procedure-info__text small {
        font-size: 11px;
      }


      #evt-tdv2 .before-after__card {
        flex-basis: 460px;
      }
      #evt-tdv2 .before-after__notice {
        font-size: 13px;
        line-height: 1.6;
      }
    

      #evt-tdv2 .trust-standard {
        min-height: auto;
      }
      #evt-tdv2 .trust-standard__cards {
        gap: 14px;
        margin-top: 50px;
      }
      #evt-tdv2 .trust-standard__card {
        padding: 34px 30px;
      }
      #evt-tdv2 .trust-standard__card-title {
        font-size: 19px;
      }
      #evt-tdv2 .trust-standard__card-description {
        font-size: 14px;
      }
    


      #evt-tdv2 .difference__compare {
        gap: 24px;
      }
      #evt-tdv2 .difference__box {
        padding-left: 26px;
        padding-right: 26px;
      }
    


      #evt-tdv2 .characteristics__inner {
        grid-template-columns: 260px minmax(0, 1fr);
        gap: 50px;
      }
      #evt-tdv2 .characteristics__sticky {
        top: 80px;
      }
      #evt-tdv2 .characteristics__list {
        gap: 44px;
      }
      #evt-tdv2 .characteristics__card {
        grid-template-columns: 40% 60%;
      }
      #evt-tdv2 .characteristics__content {
        padding: 22px 20px;
      }
      #evt-tdv2 .characteristics__point {
        font-size: 14px;
      }
      #evt-tdv2 .characteristics__card-title {
        font-size: 18px;
      }
    


      #evt-tdv2 .treatment-area__board {
        padding-left: 22px;
        padding-right: 22px;
      }
      #evt-tdv2 .treatment-area__panel,
      #evt-tdv2 .treatment-area__panel--face,
      #evt-tdv2 .treatment-area__panel--body {
        height: 520px;
      }
      #evt-tdv2 .treatment-area__figure--face {
        width: min(540px, 100%);
      }

      #evt-tdv2 .treatment-area__figure--body {
        height: 100%;
      }
      #evt-tdv2 .treatment-area__chip {
        min-height: 52px;
        padding: 0 18px;
        font-size: 14px;
      }
      #evt-tdv2 .treatment-area__chip--multi {
        min-width: 170px;
      }
      #evt-tdv2 .treatment-area__line {
        width: calc(var(--line, 140px) * 0.78);
      }

      #evt-tdv2 .treatment-area__switch {
        top: 10px;
        left: 10px;
      }
      #evt-tdv2 .treatment-area__switch-btn {
        height: 38px;
        min-width: 68px;
      }
    


      #evt-tdv2 .checkpoint__grid {
        gap: 24px;
      }
      #evt-tdv2 .checkpoint__card {
        min-height: 460px;
        padding: 40px 32px 30px;
      }
      #evt-tdv2 .checkpoint__card-title {
        font-size: 27px;
      }
      #evt-tdv2 .checkpoint__item {
        font-size: 15px;
      }
    


      #evt-tdv2 .event-card {
        flex-basis: 520px;
        grid-template-columns: minmax(0, 1fr) 170px;
        min-height: 230px;
        padding: 25px;
      }
      #evt-tdv2 .event-card__visual {
        width: 170px;
        height: 170px;
      }
    


      #evt-tdv2 .faq-section__inner {
        grid-template-columns: 270px minmax(0, 1fr);
        gap: 40px;
      }
      #evt-tdv2 .faq-section__item {
        padding: 18px 0px;
        margin: 0 24px;
      }
      #evt-tdv2 .faq-section__question {
        font-size: 15px;
      }
    


      #evt-tdv2 .another-card {
        flex-basis: 300px;
      }
      #evt-tdv2 .another-card__content {
        min-height: 155px;
        padding: 26px 20px;
      }
    }

    @media (max-width: 768px) {
      #evt-tdv2 .mo-only {
          display: block;
      }

      /* COMMON. Section spacing / heading / slider */
      #evt-tdv2 .section-space {
        padding:
          var(--section-space-mobile-top, 70px)
          clamp(16px, 4vw, 20px)
          var(--section-space-mobile-bottom, 76px);
      }

      #evt-tdv2 .section-eyebrow {
        margin-bottom: var(
          --heading-eyebrow-mobile-gap,
          var(--heading-eyebrow-gap, 8px)
        );
        font-size: var(--heading-eyebrow-mobile-size, 14px);
      }

      #evt-tdv2 .section-title {
        font-size: clamp(
          27px,
          7vw,
          var(--heading-title-mobile-size, 30px)
        );
        line-height: var(
          --heading-title-mobile-line,
          var(--heading-title-line, 1.2)
        );
      }

      #evt-tdv2 .section-description {
        margin-top: var(--heading-description-mobile-gap, 14px);
        font-size: var(--heading-description-mobile-size, 14px);
        line-height: var(
          --heading-description-mobile-line,
          var(--heading-description-line, 1.65)
        );
      }

      #evt-tdv2 .slider-nav {
        display: none;
      }

      #evt-tdv2 .before-after,
      #evt-tdv2 .event-section,
      #evt-tdv2 .another-section {
        --slider-gap: 14px;
        --slider-margin-top: 34px;
        --slider-progress-margin: 34px;
      }

      #evt-tdv2 .slider-section__header {
        display: block;
      }

      #evt-tdv2 .event-section__inner {
        width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
      }

      #evt-tdv2 .event-section__header,
      #evt-tdv2 .event-section__slider-shell,
      #evt-tdv2 .event-section__progress,
      #evt-tdv2 .event-section__actions {
        grid-column: 1;
        grid-row: auto;

        width: 100%;
        min-width: 0;
      }

      #evt-tdv2 .event-section__actions {
        margin-top: 28px;
      }

      #evt-tdv2 .event-section__more {
        width: 100%;
        min-height: 46px;
        padding: 0 20px;
        font-size: 15px;
      }


      #evt-tdv2 .procedure-intro__inner {
        display: flex;
        flex-direction: column;
        gap: 38px;
      }
      #evt-tdv2 .procedure-intro__visual {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        border-radius: 16px;
      }
      #evt-tdv2 .procedure-intro__content {
        width: 100%;
      }
      #evt-tdv2 .procedure-intro__eyebrow {
        margin-bottom: 7px;
        font-size: 14px;
      }
      #evt-tdv2 .procedure-intro__title {
        font-size: clamp(29px, 7.5vw, 32px);
      }
      #evt-tdv2 .procedure-intro__subtitle {
        margin-top: 10px;
        font-size: clamp(17px, 4.5vw, 18px);
      }
      #evt-tdv2 .procedure-intro__description {
        margin-top: 16px;
        font-size: 15px;
        line-height: 1.7;
      }
      #evt-tdv2 .procedure-info__heading {
        margin-top: 36px;
        gap: 14px;
      }
      #evt-tdv2 .procedure-info__heading span {
        min-width: auto;
        height: 36px;
        padding: 0 17px;
        font-size: 15px;
      }
      #evt-tdv2 .procedure-info__grid {
        grid-template-columns: 1fr;
        gap: 23px;
        margin-top: 25px;
      }
      #evt-tdv2 .procedure-info__item {
        grid-template-columns: 25px 1fr;
        gap: 13px;
      }
      #evt-tdv2 .procedure-info__icon {
        width: 24px;
        height: 24px;
      }
      #evt-tdv2 .procedure-info__text {
        grid-template-columns: clamp(68px, 18vw, 75px) 1fr;
        gap: 10px;
      }
      #evt-tdv2 .procedure-info__text span {
          white-space: normal;
      }
    


      #evt-tdv2 .before-after__inner {
        width: 100%;
        min-width: 0;
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
      }

      #evt-tdv2 .before-after__header,
      #evt-tdv2 .before-after__slider-shell,
      #evt-tdv2 .before-after__progress,
      #evt-tdv2 .before-after__notice,
      #evt-tdv2 .before-after__actions {
        grid-column: 1;
        grid-row: auto;
        width: 100%;
        min-width: 0;
      }

      #evt-tdv2 .before-after__actions {
        width: 100%;
        margin-top: 28px;
      }

      #evt-tdv2 .before-after__more {
        width: 100%;
        min-height: 46px;
        margin-left: 0;
        padding: 0 20px;
        font-size: 15px;
      }
      #evt-tdv2 .before-after__card {
        flex-basis: min(86vw, 430px);
        border-radius: 14px;
      }
      #evt-tdv2 .before-after__card-body {
        padding: 18px 16px 20px;
      }
      #evt-tdv2 .before-after__card-title {
        gap: 7px;
        font-size: 16px;
      }
      #evt-tdv2 .before-after__branch {
        min-height: 24px;
        padding: 0 8px;
        font-size: 12px;
      }
      #evt-tdv2 .before-after__date {
        font-size: 12px;
      }
      #evt-tdv2 .before-after__notice {
        margin-top: 28px;
        font-size: 10px;
      }
    

      #evt-tdv2 .trust-standard {
        min-height: auto;
        background-image: url("img/trust-standard-mo.webp");
        background-position: center center;
        background-size: cover;
      }
      #evt-tdv2 .trust-standard__cards {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 50px; 
      }
      #evt-tdv2 .trust-standard__card {
        padding: 25px 24px;
        border: 1px solid rgba(170, 255, 247, 0.14);
        border-radius: 15px;
        backdrop-filter: blur(3px) saturate(125%);
        -webkit-backdrop-filter: blur(3px) saturate(125%);
      }
      #evt-tdv2 .trust-standard__number {
        margin-bottom: 3px;
        font-size: 18px;
      }
      #evt-tdv2 .trust-standard__card-title {
        font-size: 18px;
      }
      #evt-tdv2 .trust-standard__card-description {
        margin-top: 7px;
        font-size: 15px;
        line-height: 1.55;
      }
    


/* 탭은 모바일에서 가로 스크롤 */
      #evt-tdv2 .difference__tabs {
        justify-content: flex-start;
        margin-top: 32px;
        padding-bottom: 4px;
        overflow-x: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
        gap: 8px;
      }
      #evt-tdv2 .difference__tabs::-webkit-scrollbar {
        display: none;
      }
      #evt-tdv2 .difference__tab {
        flex: 0 0 auto;
        min-height: 42px;
        padding: 0 20px;
        font-size: 15px;
      }

      /* 비교표는 모바일에서도 좌우 비교 유지 */
      #evt-tdv2 .difference__compare {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 20px;
        margin-top: 22px;
      }
      #evt-tdv2 .difference__product {
        min-height: 50px;
        padding: 10px 8px;
        border-radius: 7px;
        font-size: 17px;
      }
      #evt-tdv2 .difference__box {
        margin-top: 10px;
        padding: 6px clamp(11px, 3.3vw, 14px);
        border-radius: 7px;
      }
      #evt-tdv2 .difference__item {
        padding: 16px 0;
      }
      #evt-tdv2 .difference__label {
        margin-bottom: 2px;
        font-size: 15px;
      }
      #evt-tdv2 .difference__value {
        font-size: clamp(13px, 3.2vw, 16px);
        line-height: 1.5;
      }
    


      #evt-tdv2 .characteristics__inner {
        display: block;
      }
      /* 모바일에서는 sticky 해제 */
      #evt-tdv2 .characteristics__sticky {
        position: static;
      }
/* 리스트 */
      #evt-tdv2 .characteristics__list {
        gap: 18px;
        margin-top: 40px;
      }
      /* 모바일 카드 */
      #evt-tdv2 .characteristics__card {
        grid-template-columns: 1fr;
        min-height: 0;
        border-radius: 15px;
      }
      #evt-tdv2 .characteristics__visual {
        aspect-ratio: 1 / 0.8;
      }
      #evt-tdv2 .characteristics__content {
        padding: 40px 24px;
      }
      #evt-tdv2 .characteristics__point {
        margin-bottom: 6px;
        font-size: 13px;
      }
      #evt-tdv2 .characteristics__card-title {
        font-size: 18px;
        line-height: 1.5;
      }
    


      #evt-tdv2 .treatment-area__board {
        margin-top: 30px;
        padding: 0px 12px 0;
        border-radius: 22px;
      }
      #evt-tdv2 .treatment-area__switch {
        top: 10px;
        left: 10px;
      }
      #evt-tdv2 .treatment-area__switch-btn {
        min-width: 46px;
        height: 26px;
        padding: 0 4px;
        font-size: 14px;
      }
      #evt-tdv2 .treatment-area__panel,
      #evt-tdv2 .treatment-area__panel--face,
      #evt-tdv2 .treatment-area__panel--body {
        height: 330px;
      }
      #evt-tdv2 .treatment-area__figure--face {
        width: 100%;
      }

      #evt-tdv2 .treatment-area__figure--body {
        height: 100%;
      }
      #evt-tdv2 .treatment-area__dot {
        width: 14px;
        height: 14px;
        border-width: 2px;
      }
      #evt-tdv2 .treatment-area__dot::after {
        width: 4px;
        height: 4px;
      }
      #evt-tdv2 .treatment-area__line {
        width: min(
          calc(var(--line, 140px) * 0.42),
          12vw
        );
      }
      #evt-tdv2 .treatment-area__chip {
        min-height: auto;
        padding: 6px 10px;
        border-radius: 14px;
        font-size: 12px;
        line-height: 1.2;
      }
      #evt-tdv2 .treatment-area__chip--multi {
        min-width: auto;
      }
    


      #evt-tdv2 .checkpoint__grid {
        grid-template-columns: 1fr;
        gap: 18px;
        margin-top: 34px;
      }
      #evt-tdv2 .checkpoint__card {
        min-height: 0;
        padding: 34px 24px 22px;
        border-radius: 20px;
      }
      #evt-tdv2 .checkpoint__card::before {
        height: 6px;
      }
      #evt-tdv2 .checkpoint__card-title {
        font-size: 24px;
      }
      #evt-tdv2 .checkpoint__card-description {
        margin-top: 10px;
        font-size: 14px;
      }
      #evt-tdv2 .checkpoint__list {
        margin-top: 10px;
      }
      #evt-tdv2 .checkpoint__item {
        min-height: 62px;
        padding: 16px 0;
        font-size: 13px;
        gap: 6px;
      }
      #evt-tdv2 .checkpoint__check {
        width: 19px;
        height: 19px;
      }
      #evt-tdv2 .checkpoint__number {
        min-width: 19px;
        font-size: 14px;
      }
    
      /* EVENT CARD
         모바일에서는 슬라이더 구조는 그대로 유지하고
         카드 내부만 상단 정보+이미지 / 하단 가격+D-day 구조로 변경 */
      #evt-tdv2 .event-card {
        flex: 0 0 min(86vw, 380px);
        display: grid;
        grid-template-columns: minmax(0, 1fr) clamp(96px, 28vw, 112px);
        column-gap: 14px;
        row-gap: 0;
        min-height: 0;
        padding: 16px;
        border-radius: 16px;
        align-items: start;
      }

      /* 내부 요소를 event-card grid에 직접 배치 */
      #evt-tdv2 .event-card__content {
        display: contents;
      }

      #evt-tdv2 .event-card__period {
        grid-column: 1;
        grid-row: 1;
        align-self: end;
        font-size: 12px;
        line-height: 1.35;
      }

      #evt-tdv2 .event-card__title {
        grid-column: 1;
        grid-row: 2;
        margin-top: 4px;
        font-size: 17px;
        line-height: 1.35;
      }

      #evt-tdv2 .event-card__description {
        grid-column: 1;
        grid-row: 3;
        margin-top: 6px;
        font-size: 11px;
        line-height: 1.5;
        color: #777777;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        min-height: 33px;
      }

      #evt-tdv2 .event-card__visual {
        grid-column: 2;
        grid-row: 1 / span 3;
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        align-self: start;
        border-radius: 10px;
      }

      #evt-tdv2 .event-card__price {
        grid-column: 1 / -1;
        grid-row: 4;
        margin-top: 0;
        padding-top: 10px;
      }

      #evt-tdv2 .event-card__price strong {
        font-size: 24px;
      }

      #evt-tdv2 .event-card__price span {
        font-size: 12px;
      }

      #evt-tdv2 .event-card__bottom {
        grid-column: 1 / -1;
        grid-row: 5;
        margin-top: 9px;
        padding-top: 0;
      }

      #evt-tdv2 .event-card__dday {
        display: block;
        font-size: 12px;
      }

      #evt-tdv2 .event-card__mini-progress {
        display: block;
        width: 100%;
        height: 4px;
      }
    


      #evt-tdv2 .faq-section__inner {
        display: flex;
        flex-direction: column;
        gap: 0;
      }

      #evt-tdv2 .faq-section__content {
        display: contents;
      }

      #evt-tdv2 .faq-section__eyebrow {
        order: 1;
      }

      #evt-tdv2 .faq-section__title {
        order: 2;
      }

      #evt-tdv2 .faq-section__list {
        order: 3;
        margin-top: 28px;
        border-radius: 16px;
      }

      #evt-tdv2 .faq-section__more {
        order: 4;
        width: 100%;
        min-height: 46px;
        margin-top: 18px;
        padding: 0 20px;
        font-size: 15px;
      }
      #evt-tdv2 .faq-section__item {
        grid-template-columns: 1fr 22px;
        gap: 4px;
        min-height: 88px;
        padding: 18px 0;
        margin: 0 20px;
      }
      #evt-tdv2 .faq-section__category {
        grid-column: 1;
        width: fit-content;
        min-height: 20px;
        margin-bottom: 4px;
        font-size: 11px;
      }
      #evt-tdv2 .faq-section__question {
        grid-column: 1;
        min-width: 0;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        white-space: normal;
        word-break: keep-all;
        font-size: 15px;
        line-height: 1.5;
      }
      #evt-tdv2 .faq-section__arrow {
        grid-column: 2;
        grid-row: 1 / 3;
      }
      #evt-tdv2 .faq-section__arrow svg {
        width: 19px;
        height: 19px;
      }
    


      #evt-tdv2 .another-card {
        flex: 0 0 min(78vw, 320px);
        border-radius: 15px;
      }
      #evt-tdv2 .another-card__content {
        min-height: 145px;
        padding: 22px 18px;
      }
      #evt-tdv2 .another-card__en {
        font-size: 11px;
      }
      #evt-tdv2 .another-card__title {
        font-size: 19px;
      }
      #evt-tdv2 .another-card__description {
        margin-top: 11px;
        font-size: 13px;
      }
    }

