
  #scps-v2-app *, #scps-v2-app *::before, #scps-v2-app *::after { box-sizing: border-box; margin: 0; padding: 0; }

  #scps-v2-app {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    letter-spacing: -0.012em; /* 모던하고 정돈된 느낌의 미세 자간 */
    background: #F7F8F9;
    color: #1C1C1E;
    display: flex;
    height: 100vh; height: 100dvh; overflow: hidden; /* 사이드바 고정, 페이지 자체는 스크롤 안 함. dvh=iOS Safari 하단 주소창 대응 */
  }

  /* 모바일 사이드바 드로어용 햄버거/배경 — 데스크톱에서는 숨김 */
  #scps-v2-app .scps-v2-menu-btn { display: none; }
  #scps-v2-app .scps-v2-drawer-backdrop { display: none; }

  /* ─── SIDEBAR: 딥 플럼 다크 레일 ─── */
  #scps-v2-app .sidebar {
    width: 240px;
    flex-shrink: 0;
    background: #332831;
    border-right: 1px solid rgba(255,255,255,.06);
    display: flex;
    flex-direction: column;
    position: sticky;          /* 시안: 사이드바 고정, main-wrap만 스크롤 */
    top: 0;
    align-self: flex-start;
    height: 100vh;
    overflow-y: auto;
    z-index: 40;
    scrollbar-width: none;
  }
  #scps-v2-app .sidebar::-webkit-scrollbar { width: 0; }

  #scps-v2-app .sidebar-logo {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 24px 18px 16px;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }
  #scps-v2-app .sidebar-logo .logo-wordmark {
    font-family: 'Noto Serif KR', serif;
    font-style: normal;
    font-weight: 700;
    font-size: 28px;
    line-height: 1;
    letter-spacing: 0.12em;
    color: #fbedf8;
  }
  #scps-v2-app .sidebar-logo .logo-sub-row {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  #scps-v2-app .sidebar-logo .logo-sub-line { flex: 1; height: 1px; background: rgba(255,255,255,.12); }
  #scps-v2-app .sidebar-logo .logo-sub {
    font-family: 'Pretendard', sans-serif;
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #978b95;
    white-space: nowrap;
  }

  /* 주 행동 버튼: 새 상담 시작 (레일에서 유일한 그라디언트) */
  #scps-v2-app .sidebar-new-chat {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 16px 14px 6px;
    padding: 11px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, #9e3d8e, #ae5ca0);
    color: #fff;
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: -0.01em;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(158,61,142,.35);
    transition: transform .15s ease, box-shadow .15s ease;
  }
  #scps-v2-app .sidebar-new-chat:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(158,61,142,.45); }
  #scps-v2-app .sidebar-new-chat:focus-visible { outline: 2px solid #f2bfe7; outline-offset: 2px; }

  /* 보조 행동: 줄기세포 팩트 리포트 — 한 줄 CTA 버튼 */
  #scps-v2-app .sidebar-science-link {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 6px 14px 6px;
    padding: 10px 10px;
    line-height: normal;           /* WP 전역 상속 line-height(26px) 제거 → 시안과 동일한 컴팩트 높이 */
    border: 1px solid rgba(242,191,231,.42);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(158,61,142,.30), rgba(174,92,160,.22));
    color: #fbedf8;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: -0.03em;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(158,61,142,.18);
    transition: transform .15s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
  }
  #scps-v2-app .sidebar-science-link:hover {
    transform: translateY(-1px);
    background: linear-gradient(135deg, rgba(158,61,142,.46), rgba(174,92,160,.34));
    border-color: rgba(242,191,231,.75);
    box-shadow: 0 10px 24px rgba(158,61,142,.34);
  }
  #scps-v2-app .sidebar-science-link .ssl-text { flex: 1; white-space: nowrap; }
  /* 노란 느낌표 배지 */
  #scps-v2-app .sidebar-science-link .ssl-badge {
    flex-shrink: 0;
    width: 20px; height: 20px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 6px;
    background: linear-gradient(135deg, #f0d889, #c9a83c);
    color: #5A3B00;
    font-size: 13px; font-weight: 900; line-height: 1;
    box-shadow: 0 2px 7px rgba(201,168,60,.5), inset 0 1px 0 rgba(255,255,255,.5);
  }
  /* 'Click' 유도 필 — 은은한 펄스 */
  #scps-v2-app .sidebar-science-link .ssl-click {
    display: inline-flex;
    align-items: center;
    gap: 1px;
    flex-shrink: 0;
    padding: 3px 6px 3px 7px;
    border-radius: 100px;
    background: linear-gradient(135deg, #f2bfe7, #f8e4f4);
    color: #5a2058;
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: 0;
    box-shadow: 0 2px 8px rgba(242,191,231,.5);
    animation: sslPulse 2s ease-in-out infinite;
  }
  #scps-v2-app .sidebar-science-link .ssl-click svg { width: 10px; height: 10px; transition: transform .2s ease; }
  #scps-v2-app .sidebar-science-link:hover .ssl-click { animation: none; }
  #scps-v2-app .sidebar-science-link:hover .ssl-click svg { transform: translateX(2px); }
  @keyframes sslPulse {
    0%, 100% { transform: scale(1); box-shadow: 0 2px 8px rgba(242,191,231,.5); }
    50%      { transform: scale(1.05); box-shadow: 0 3px 13px rgba(242,191,231,.85); }
  }
  @media (prefers-reduced-motion: reduce) {
    #scps-v2-app .sidebar-science-link .ssl-click { animation: none; }
  }
  #scps-v2-app .sidebar-science-link:focus-visible { outline: 2px solid #f2bfe7; outline-offset: 2px; }

  /* ─── 신뢰 캐러셀: 실제 서류 이미지 + 라이트박스 ─── */
  #scps-v2-app .trust-card {
    position: relative;
    margin: 16px 14px 2px;
    border-radius: 16px;
    background: linear-gradient(168deg, rgba(72,51,68,.55), rgba(43,34,41,.55));
    border: 1px solid rgba(212,178,120,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
    overflow: hidden;
  }
  #scps-v2-app .trust-card::after {
    content: ""; position: absolute; inset: 0;
    background: radial-gradient(80% 42% at 50% 0%, rgba(242,191,231,.10), transparent 60%);
    pointer-events: none; z-index: 0;
  }
  #scps-v2-app .trust-slide {
    display: none;
    position: relative; z-index: 1;
    padding: 15px 15px 17px;
    flex-direction: column;
  }
  #scps-v2-app .trust-slide.active { display: flex; animation: slideFade .5s ease; }
  @keyframes slideFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

  #scps-v2-app .rs-eyebrow {
    display: flex; align-items: center; gap: 8px;
    font-size: 12px; font-weight: 800; letter-spacing: 0.06em;
    color: #fbedf8;
    padding-bottom: 11px; margin-bottom: 13px;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  #scps-v2-app .rs-tick { width: 4px; height: 15px; border-radius: 2px; flex-shrink: 0; background: linear-gradient(180deg, #f2bfe7, #ae5ca0); }
  #scps-v2-app .rs-tick.gold { background: linear-gradient(180deg, #f0d889, #c9a83c); }

  /* 대표 이미지: 원본 비율 그대로 폭에 꽉 차게 */
  #scps-v2-app .rs-heroimg {
    position: relative;
    width: 100%;
    display: block;
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 0 14px 30px rgba(0,0,0,.45);
    cursor: pointer; padding: 0; border: 0; font-family: inherit;
    line-height: 0;
    transition: transform .18s ease, box-shadow .22s ease;
  }
  #scps-v2-app .rs-heroimg img { width: 100%; height: auto; display: block; }
  #scps-v2-app button.rs-heroimg:hover { transform: translateY(-2px); box-shadow: 0 20px 40px rgba(0,0,0,.58); }
  #scps-v2-app button.rs-heroimg:focus-visible { outline: 2px solid #f2bfe7; outline-offset: 3px; }
  #scps-v2-app .rs-heroimg.doc-noimg { aspect-ratio: 3 / 2; background: linear-gradient(140deg, #F3E7EF, #FBF4F9); }
  #scps-v2-app .rs-heroimg.doc-noimg img { display: none; }
  #scps-v2-app .rs-heroimg.doc-noimg::before {
    content: ""; position: absolute; inset: 0;
    background: center/40px no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A43C93' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/></svg>");
  }
  #scps-v2-app .rs-heroimg--patent { cursor: pointer; background: none; line-height: 0; }
  #scps-v2-app .rs-heroimg--patent svg { width: 100%; height: auto; display: block; }
  /* 돋보기 오버레이 공통: 이미지 위에 겹쳐 기본 숨김, hover 시 노출 */
  #scps-v2-app .rs-zoom {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    color: #fff; background: rgba(40,20,36,.32); opacity: 0; transition: opacity .18s ease; pointer-events: none;
  }
  #scps-v2-app .rs-zoom svg { width: 22px; height: 22px; filter: drop-shadow(0 2px 5px rgba(0,0,0,.5)); }
  #scps-v2-app .rs-duoitem:hover .rs-zoom { opacity: 1; }
  #scps-v2-app .rs-heroimg .rs-zoom {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    color: #fff; background: rgba(40,20,36,.32); opacity: 0; transition: opacity .18s ease; pointer-events: none;
  }
  #scps-v2-app .rs-heroimg .rs-zoom svg { width: 24px; height: 24px; filter: drop-shadow(0 2px 6px rgba(0,0,0,.55)); }
  #scps-v2-app button.rs-heroimg:hover .rs-zoom { opacity: 1; }

  #scps-v2-app .rs-herocap { margin-top: 13px; }
  #scps-v2-app .rs-herocap b { display: block; font-size: 14px; font-weight: 800; letter-spacing: -0.02em; color: #fbedf8; line-height: 1.32; word-break: keep-all; }
  #scps-v2-app .rs-herocap b .rs-hl {
    font-style: normal; margin-left: 3px; font-size: 15px;
    background: linear-gradient(135deg, #FFFFFF, #f2bfe7);
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  }
  #scps-v2-app .rs-herocap span { display: block; margin-top: 4px; font-size: 10.5px; font-weight: 600; letter-spacing: 0.01em; color: #a89caa; word-break: keep-all; }

  /* SCI · Oxford 듀오 */
  #scps-v2-app .rs-duo { display: flex; flex-direction: column; gap: 14px; }
  #scps-v2-app .rs-duoitem { display: flex; flex-direction: column; gap: 8px; background: none; border: 0; padding: 0; font-family: inherit; text-align: left; cursor: pointer; }
  #scps-v2-app .rs-duoitem:focus-visible { outline: 2px solid #f2bfe7; outline-offset: 3px; border-radius: 8px; }
  #scps-v2-app .rs-diLabel { display: flex; align-items: baseline; gap: 7px; font-size: 15px; font-weight: 800; letter-spacing: -0.02em; color: #fbedf8; }
  #scps-v2-app .rs-diLabel .rs-hl {
    font-family: 'Pretendard', sans-serif; font-size: 18px; font-weight: 800; letter-spacing: -0.03em;
    background: linear-gradient(135deg, #FFFFFF, #f2bfe7);
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  }
  #scps-v2-app .rs-diLabel .rs-tagen { font-size: 10px; font-weight: 700; color: #ae5ca0; letter-spacing: 0.04em; }
  #scps-v2-app .rs-diImg { position: relative; display: block; width: 100%; border-radius: 11px; overflow: hidden; line-height: 0; box-shadow: 0 10px 24px rgba(0,0,0,.42); transition: transform .18s ease, box-shadow .22s ease; }
  #scps-v2-app .rs-diImg img { width: 100%; height: auto; display: block; }
  #scps-v2-app .rs-duoitem:hover .rs-diImg { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(0,0,0,.55); }
  #scps-v2-app .rs-diImg.doc-noimg { aspect-ratio: 5 / 3; background: linear-gradient(140deg, #F3E7EF, #FBF4F9); }
  #scps-v2-app .rs-diImg.doc-noimg img { display: none; }
  #scps-v2-app .rs-diImg.doc-noimg::before { content: ""; position: absolute; inset: 0; background: center/32px no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A43C93' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/></svg>"); }
  #scps-v2-app .rs-diSub { font-size: 10px; font-weight: 600; letter-spacing: 0.01em; color: #978b95; }

  /* 인디케이터 (우상단) */
  #scps-v2-app .trust-dots { position: absolute; top: 15px; right: 15px; display: flex; gap: 4px; z-index: 2; }
  #scps-v2-app .trust-dots i { width: 4px; height: 4px; border-radius: 50%; background: rgba(255,255,255,.22); transition: all .35s; }
  #scps-v2-app .trust-dots i.active { width: 12px; border-radius: 2px; background: linear-gradient(90deg, #f0d889, #f2bfe7); }

  /* 서류 원본 라이트박스 */
  #scps-v2-app .doc-modal { position: fixed; inset: 0; z-index: 1400; display: flex; align-items: center; justify-content: center; padding: 24px; }
  #scps-v2-app .doc-modal[hidden] { display: none; }
  #scps-v2-app .doc-backdrop { position: absolute; inset: 0; background: rgba(20,10,18,.72); backdrop-filter: blur(4px); animation: caseFade .2s ease; }
  #scps-v2-app .doc-dialog {
    position: relative;
    display: flex; flex-direction: column; align-items: center; gap: 14px;
    max-width: min(760px, 94vw);
    margin: 0;
    animation: caseRise .28s cubic-bezier(.2,.7,.3,1);
  }
  #scps-v2-app .doc-dialog .doc-img { max-width: 100%; max-height: 78vh; object-fit: contain; border-radius: 10px; background: #fff; box-shadow: 0 30px 80px rgba(0,0,0,.5); }
  #scps-v2-app .doc-dialog .doc-cap { font-size: 13.5px; font-weight: 700; letter-spacing: -0.01em; color: #F3E7EF; text-align: center; max-width: 90%; }
  #scps-v2-app .doc-close {
    position: absolute; top: -14px; right: -14px;
    width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    border: none; border-radius: 50%;
    background: #fff; color: #A43C93;
    font-size: 16px; cursor: pointer;
    box-shadow: 0 6px 18px rgba(0,0,0,.35);
    transition: transform .12s ease;
  }
  #scps-v2-app .doc-close:hover { transform: scale(1.08); }
  @keyframes caseFade { from { opacity: 0; } to { opacity: 1; } }
  @keyframes caseRise { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
  @media (max-width: 480px) {
    #scps-v2-app .doc-modal { padding: 16px; }
    #scps-v2-app .doc-close { top: -10px; right: -6px; }
  }

  /* 가변 공간의 오너먼트 디바이더 (히어로와 동일한 디자인 언어) */
  #scps-v2-app .side-orn {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: auto 24px; /* 위·아래 여백을 균등 흡수해 빈 공간을 의도된 휴지로 */
    color: rgba(174,92,160,.4);
    font-size: 8px;
    line-height: 1;
  }
  #scps-v2-app .side-orn span {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  }

  /* 퀵 액션 타일: 글래스 그리드 (맨 하단) */
  #scps-v2-app .quick-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 0 14px 12px;
  }
  #scps-v2-app .quick-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 13px 6px 11px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    font-family: inherit;
    font-size: 11.5px;
    font-weight: 600;
    color: #c0b4be;
    text-decoration: none;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s, transform .15s;
  }
  #scps-v2-app .quick-tile svg { width: 20px; height: 20px; stroke: #ae5ca0; transition: stroke .15s; }
  #scps-v2-app .quick-tile:hover {
    background: rgba(158,61,142,.18);
    border-color: rgba(174,92,160,.4);
    color: #fff;
    transform: translateY(-1px);
  }
  #scps-v2-app .quick-tile:hover svg { stroke: #f2bfe7; }
  #scps-v2-app .quick-tile:focus-visible { outline: 2px solid #f2bfe7; outline-offset: 2px; }

  /* 푸터 */
  #scps-v2-app .sidebar-footer {
    margin-top: 0;
    padding: 14px 16px 16px;
    border-top: 1px solid rgba(255,255,255,.07);
  }
  #scps-v2-app .footer-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
  }
  #scps-v2-app .lang-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    color: #c0b4be;
    background: transparent;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 100px;
    padding: 5px 11px;
    cursor: pointer;
    transition: border-color .15s, color .15s;
  }
  #scps-v2-app .lang-pill svg { width: 12px; height: 12px; }
  #scps-v2-app .lang-pill:hover { border-color: #ae5ca0; color: #fff; }
  #scps-v2-app .sidebar-socials {
    display: flex;
    gap: 7px;
    align-items: center;
  }
  #scps-v2-app .sidebar-socials a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    background: rgba(255,255,255,.06);
    text-decoration: none;
    font-size: 12px;
    color: #c0b4be;
    transition: background .15s, color .15s;
  }
  #scps-v2-app .sidebar-socials a:hover { background: rgba(158,61,142,.3); color: #fff; }
  #scps-v2-app .sidebar-legal {
    font-size: 9.5px;
    color: #7d737b;
    line-height: 1.7;
  }
  #scps-v2-app .sidebar-legal a { color: #7d737b; text-decoration: none; }
  #scps-v2-app .sidebar-legal a:hover { color: #ae5ca0; }
  /* ─── MAIN ─── */
  #scps-v2-app .main-wrap {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    height: 100vh; height: 100dvh; overflow-y: auto; /* 우측 본문만 스크롤. dvh=iOS 하단 주소창 노출 시 실제 높이 */
    position: relative;
  }

  #scps-v2-app .main-header {
    padding: 16px 40px 0;
    text-align: center;
  }
  /* 상단 장식 오너먼트 + 아이브로우 */
  #scps-v2-app .hero-ornament {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 8px;
  }
  #scps-v2-app .hero-ornament .ho-line {
    height: 1px;
    width: clamp(60px, 18vw, 170px);
    background: linear-gradient(90deg, transparent, #e2cfdd 55%, #cdb1c8);
  }
  #scps-v2-app .hero-ornament .ho-line.right {
    background: linear-gradient(90deg, #cdb1c8, #e2cfdd 45%, transparent);
  }
  #scps-v2-app .hero-ornament .ho-diamond {
    color: #B97FAE;
    font-size: 11px;
    line-height: 1;
    transform: translateY(-1px);
  }
  #scps-v2-app .hero-eyebrow {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-weight: 500;
    font-size: clamp(13px, 1.3vw, 16px);
    letter-spacing: 0.16em;
    color: #A98BA3;
    text-align: center;
    margin-bottom: 26px !important;
  }

  /* 헤드카피: 좌(숫자, 중앙정렬) | 우(서브) 가로 분할 — 컴팩트 · 블랙 통일 */
  #scps-v2-app .head-split {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 8px;
  }
  #scps-v2-app .head-left {
    text-align: center;
    line-height: 1.06;
  }
  #scps-v2-app .head-left .hl-num {
    font-family: 'Pretendard', sans-serif;
    font-size: clamp(22px, 2.5vw, 32px);
    font-weight: 800;
    letter-spacing: -0.04em;
    color: #211A24;
    white-space: nowrap;
  }
  #scps-v2-app .head-left .hl-num em {
    font-style: normal;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
    color: #1C1620;
  }
  #scps-v2-app .head-left .hl-num .josa { color: #8E8693; font-weight: 700; font-size: .58em; }
  #scps-v2-app .head-left .hl-word {
    font-family: 'Pretendard', sans-serif;
    font-size: clamp(22px, 2.5vw, 32px);
    font-weight: 800;
    letter-spacing: -0.04em;
    color: #211A24;
    margin-top: 1px;
  }
  #scps-v2-app .head-divider {
    width: 1px;
    align-self: stretch;
    min-height: 40px;
    background: linear-gradient(180deg, transparent, #E1CCDD 25%, #E1CCDD 75%, transparent);
    flex-shrink: 0;
  }
  #scps-v2-app .head-right {
    text-align: left;
    max-width: 320px;
  }
  #scps-v2-app .head-right .hr-lead {
    font-size: clamp(13px, 1.4vw, 16px);
    font-weight: 700;
    color: #3A3340;
    letter-spacing: -0.02em;
    line-height: 1.35;
    margin-bottom: 5px;
    word-break: keep-all;
  }
  #scps-v2-app .head-right .hr-detail {
    font-size: clamp(11px, 1.2vw, 12.5px);
    font-weight: 500;
    color: #948A98;
    letter-spacing: -0.01em;
    line-height: 1.5;
    word-break: keep-all;
  }
  #scps-v2-app .head-right .hr-detail b {
    font-weight: 700;
    color: #A43C93;
  }

  /* ─── 로그인 전/후 분기 ─── */
  #scps-v2-app[data-auth="guest"] .show-user { display: none !important; }
  #scps-v2-app[data-auth="user"]  .show-guest { display: none !important; }

  /* 로그인 후: Sera AI 개인화 인사 */
  #scps-v2-app .me-greeting {
    font-family: 'Pretendard', sans-serif;
    font-size: clamp(22px, 2.5vw, 31px);
    font-weight: 800;
    letter-spacing: -0.035em;
    color: #211A24;
    line-height: 1.15;
    margin-bottom: 8px;
  }
  #scps-v2-app .me-greeting em {
    font-style: normal;
    background-image: linear-gradient(95deg, #A43C93, #C84163);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
  }
  #scps-v2-app .me-greeting .me-wave {
    display: inline-block;
    color: #C84163;
    animation: scpsV2_sparkPulse 1.4s ease-in-out infinite;
  }
  #scps-v2-app .me-greeting-sub {
    font-size: clamp(12.5px, 1.35vw, 14px);
    font-weight: 500;
    color: #6E6473;
    letter-spacing: -0.01em;
    line-height: 1.6;
    max-width: 620px;
    margin: 0 auto;
    word-break: keep-all;
  }
  #scps-v2-app .me-greeting-sub b { font-weight: 700; color: #A43C93; }

  /* 로그인 후: 고객 맞춤 정보 스트립 */
  /* 로그인 후 무대: PC = 가로(모델·AI | 우측 세로 카드), 모바일 = 세로(상단 카드 | 모델) */
  #scps-v2-app .stage-row {
    flex: 1 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    min-height: 0;
  }
  /* PC: 카드열을 AI 답변 바로 오른쪽에 붙여 그룹째 가운데 정렬 (좁아지면 카드만 축소) */
  #scps-v2-app .me-strip {
    order: 2;
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: clamp(210px, 20vw, 266px);
    flex-shrink: 1;
    min-width: 0;
    margin: 0;
    padding: 0 12px 0 0;
    align-self: center;
  }
  #scps-v2-app .me-card {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    text-align: left;
    padding: 14px 15px;
    background: #fff;
    border: 1px solid #EFE8EE;
    border-radius: 15px;
    box-shadow: 0 6px 18px rgba(94,52,86,.05);
    cursor: pointer;
    font-family: inherit;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  }
  #scps-v2-app .me-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(164,60,147,.12);
    border-color: #E6CFE0;
  }
  #scps-v2-app .me-card:focus-visible { outline: 2px solid #A43C93; outline-offset: 2px; }
  #scps-v2-app .me-ico {
    flex-shrink: 0;
    width: 34px; height: 34px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 10px;
    background: color-mix(in srgb, var(--c) 12%, #fff);
  }
  #scps-v2-app .me-ico svg { width: 18px; height: 18px; stroke: var(--c); }
  #scps-v2-app .me-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
  #scps-v2-app .me-label {
    display: flex; align-items: center; gap: 6px;
    font-size: 10.5px; font-weight: 700; letter-spacing: 0.02em;
    color: #9A8F98; text-transform: uppercase;
  }
  #scps-v2-app .me-tag {
    font-style: normal;
    font-size: 9px; font-weight: 800; letter-spacing: 0;
    color: #fff; background: linear-gradient(135deg, #A43C93, #C84163);
    border-radius: 100px; padding: 1px 7px;
  }
  #scps-v2-app .me-tag.gold { background: linear-gradient(135deg, #C9A227, #E6C65A); color: #3B2E0E; }
  #scps-v2-app .me-val {
    font-size: 13.5px; font-weight: 700; color: #2A2430;
    letter-spacing: -0.02em; line-height: 1.3;
    word-break: keep-all;
  }
  #scps-v2-app .me-meta { font-size: 11px; font-weight: 500; color: #A99FA6; letter-spacing: -0.01em; }
  #scps-v2-app .me-bar {
    margin-top: 4px; height: 5px; border-radius: 100px;
    background: #F0E6EE; overflow: hidden;
  }
  #scps-v2-app .me-bar i { display: block; height: 100%; border-radius: 100px;
    background: linear-gradient(90deg, #7C9A5C, #A6C281); }

  /* 데모용 로그인 상태 토글 */
  #scps-v2-app .auth-toggle {
    position: fixed; top: 14px; right: 16px; z-index: 200;
    display: inline-flex; align-items: center; gap: 7px;
    padding: 7px 13px; border-radius: 100px;
    background: rgba(38,28,40,.92); color: #F4EDF2;
    border: 1px solid rgba(255,255,255,.12);
    font-family: inherit; font-size: 12px; font-weight: 700; cursor: pointer;
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    backdrop-filter: blur(8px);
  }
  #scps-v2-app .auth-toggle:hover { background: rgba(58,44,62,.95); }
  #scps-v2-app .auth-toggle .dot { width: 7px; height: 7px; border-radius: 50%; background: #8E8693; }
  #scps-v2-app[data-auth="user"] .auth-toggle .dot { background: #6FCF97; box-shadow: 0 0 8px #6FCF97; }

  /* ─── HERO + ROLLING AREA ─── */
  #scps-v2-app .hero-section {
    flex: 0 1 auto;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 40px;
    position: relative;
    overflow: visible;
    padding: 24px 0 24px 24px;
    min-height: 0;
  }

  /* 모델 이미지 - 배너 옆 가로 배치 (PC 고정 폭, 영역 꽉 채움) */
  #scps-v2-app .hero-model {
    position: relative;
    width: 360px;
    min-width: 360px;
    height: clamp(380px, 62vh, 560px);
    flex-shrink: 0;
    overflow: hidden;
  }
  /* 3개 모델 이미지를 겹쳐두고 active만 보이게 크로스페이드 */
  #scps-v2-app .hero-model .hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    opacity: 0;
    transition: opacity .6s ease;
  }
  #scps-v2-app .hero-model .hero-img.active { opacity: 1; }

  /* ─── AI 라이브 상담 롤링: 질문 → 생각 → 스트리밍 답변 → 후속 질문 ─── */
  #scps-v2-app .rolling-area {
    flex-shrink: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 0 24px;
  }

  #scps-v2-app .roll-track-wrap {
    position: relative;
    width: 380px;
    min-width: 380px;
  }

  #scps-v2-app .rolling-track {
    position: relative;
    width: 100%;
    height: 462px;
  }

  /* 답변 뒤 은은한 매그니타 오라 (박스 대신 분위기만) */
  #scps-v2-app .roll-track-wrap::before {
    content: "";
    position: absolute;
    inset: -4% -8% 0 -6%;
    background: radial-gradient(115% 85% at 32% 34%, rgba(164,60,147,.13), transparent 62%);
    filter: blur(6px);
    opacity: 0;
    transition: opacity .9s ease;
    pointer-events: none;
    z-index: 0;
  }
  #scps-v2-app .roll-track-wrap.lit::before { opacity: 1; }

  /* 슬라이드 한 장 = 상담 한 장면. 단계: p1 질문 → p2 생각 → p3 답변 → done 완료 */
  #scps-v2-app .roll-card {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px 8px 10px 16px;
    cursor: pointer;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .5s ease, transform .5s cubic-bezier(.22,.61,.36,1);
    pointer-events: none;
    z-index: 1;
  }
  #scps-v2-app .roll-card.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    z-index: 2;
  }

  /* 카드별 색 토큰: 본색 / 밝은 본색 / 칩 테두리 / 칩 호버 배경 */
  /* --g*: 칩·CTA·커서용 브랜드 톤 / --tg*: 제목 키워드용 모델 옷 색 매칭 (세련된 딥 톤) */
  #scps-v2-app .roll-card:nth-child(1) { --g1: #C84163; --g2: #e487a0; --gb: #F1D4DC; --gsoft: #FCEFF2; --tg1: #B14E63; --tg2: #D17E8C; } /* 카드2와 교환 */
  #scps-v2-app .roll-card:nth-child(2) { --g1: #A43C93; --g2: #d178c0; --gb: #EBD3E5; --gsoft: #FBEFF8; --tg1: #56794A; --tg2: #7C9A5C; } /* 카드1과 교환 */
  #scps-v2-app .roll-card:nth-child(3) { --g1: #9C6B1E; --g2: #d6a646; --gb: #EBDDC2; --gsoft: #FAF3E6; --tg1: #8F6B33; --tg2: #BD965A; } /* 샴페인 브론즈 */

  /* ① 고객 질문 말풍선 (우측 정렬, 채팅 시작점) */
  #scps-v2-app .user-q {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
    opacity: 0;
    transform: translateY(8px) scale(.96);
    transform-origin: right bottom;
    transition: opacity .4s ease, transform .4s cubic-bezier(.34,1.4,.5,1);
  }
  #scps-v2-app .roll-card.p1 .user-q { opacity: 1; transform: none; }
  #scps-v2-app .user-q-bubble {
    max-width: 86%;
    background: #fff;
    border: 1px solid #EDE3EA;
    border-radius: 16px 16px 4px 16px;
    box-shadow: 0 3px 12px rgba(94,52,86,.07);
    padding: 9px 14px;
    font-size: 13px;
    font-weight: 500;
    color: #4A3D49;
    line-height: 1.5;
    word-break: keep-all;
  }

  /* ② AI 아이덴티티 행 */
  #scps-v2-app .ai-id {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity .4s ease, transform .4s ease;
  }
  #scps-v2-app .roll-card.p2 .ai-id { opacity: 1; transform: none; }
  #scps-v2-app .ai-id .ai-spark {
    width: 12px; height: 12px;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    border-radius: 4px;
    background: linear-gradient(135deg, #A43C93, #C84163);
    color: #fff;
    font-size: 7px;
    box-shadow: 0 3px 10px rgba(164,60,147,.3);
  }
  /* 생각·생성 중일 때 스파크 맥동, 완료되면 정지 */
  #scps-v2-app .roll-card.p2:not(.done) .ai-id .ai-spark {
    animation: scpsV2_sparkPulse 1.1s ease-in-out infinite;
  }
  @keyframes scpsV2_sparkPulse {
    0%, 100% { transform: scale(1);    box-shadow: 0 4px 14px rgba(164,60,147,.32); }
    50%      { transform: scale(1.12); box-shadow: 0 6px 22px rgba(164,60,147,.5); }
  }
  #scps-v2-app .ai-id .ai-name {
    font-size: 13px;
    font-weight: 800;
    color: #2A3038;
    letter-spacing: -0.01em;
  }
  #scps-v2-app .ai-id .ai-name em {
    font-style: normal;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 600;
    font-size: 16px;
    background: linear-gradient(90deg, #A43C93, #C84163);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    padding-left: 1px;
  }
  #scps-v2-app .ai-id .ai-tag {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #A98BA3;
    border: 1px solid #EADBE6;
    border-radius: 100px;
    padding: 2px 8px;
  }

  /* ②~③ 상태 라인: '생각 중' 시머 ↔ 카테고리가 같은 자리에서 교차 (높이 점프 방지) */
  #scps-v2-app .ai-statusline {
    position: relative;
    height: 22px;
    margin-bottom: 6px;
  }
  #scps-v2-app .ai-statusline .ai-thinking,
  #scps-v2-app .roll-card .card-category {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    transition: opacity .35s ease;
  }
  #scps-v2-app .ai-statusline .ai-thinking { opacity: 0; }
  #scps-v2-app .roll-card.p2 .ai-thinking { opacity: 1; }
  #scps-v2-app .roll-card.p3 .ai-thinking { opacity: 0; }
  #scps-v2-app .ai-thinking .shimmer {
    font-size: 13px;
    font-weight: 500;
    background: linear-gradient(90deg, #C2AEBD 30%, #5E5460 50%, #C2AEBD 70%);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    animation: scpsV2_shimmerSlide 1.5s linear infinite;
  }
  @keyframes scpsV2_shimmerSlide {
    from { background-position: 200% 0; }
    to   { background-position: -200% 0; }
  }
  #scps-v2-app .roll-card .card-category {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #B97FAE;
    opacity: 0;
  }
  #scps-v2-app .roll-card.p3 .card-category { opacity: 1; }

  /* ③ 답변 본문 */
  #scps-v2-app .ai-answer {
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .45s ease, transform .45s ease;
  }
  #scps-v2-app .roll-card.p3 .ai-answer { opacity: 1; transform: none; }

  /* 제목: 잉크 + 키워드 혼합 조판. 키워드는 모델 옷 색과 매칭, 두께를 낮춰 고급스럽게 */
  #scps-v2-app .roll-card .card-title {
    font-size: clamp(23px, 2.4vw, 31px);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.2;
    margin-bottom: 13px;
  }
  #scps-v2-app .card-title .tw {
    display: inline-block;
    opacity: 0;
    filter: blur(10px);
    transform: translateY(14px);
    will-change: filter, transform, opacity;
  }
  #scps-v2-app .card-title .tw.ink { color: #211A24; font-weight: 700; }
  /* 키워드(컬러)는 옷 색 매칭. 잉크와 같은 굵기로 맞춰 얇아 보이지 않게, 색으로만 주목 */
  #scps-v2-app .card-title .tw.grad {
    font-weight: 700;
    background-image: linear-gradient(95deg, var(--tg1), var(--tg2));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
  }
  #scps-v2-app .roll-card.p3 .card-title .tw { animation: scpsV2_wordIn .75s cubic-bezier(.22,.61,.36,1) forwards; }
  #scps-v2-app .roll-card.p3 .card-title .tw:nth-of-type(2) { animation-delay: .14s; }
  #scps-v2-app .roll-card.p3 .card-title .tw:nth-of-type(3) { animation-delay: .28s; }
  @keyframes scpsV2_wordIn {
    from { opacity: 0; filter: blur(10px); transform: translateY(14px); }
    to   { opacity: 1; filter: blur(0);    transform: translateY(0); }
  }

  #scps-v2-app .roll-card .card-subtitle {
    display: block;
    width: fit-content;
    font-size: 12px;
    font-weight: 500;
    color: #8A6E84;
    margin: -8px 0 12px;
  }

  /* 설명 = 스트리밍 타이핑 + 깜빡이는 커서 (3줄 높이 예약으로 레이아웃 점프 방지) */
  #scps-v2-app .roll-card .card-desc {
    font-size: 15px;
    line-height: 1.7;
    color: #44424A;
    word-break: keep-all;
    min-height: 5.1em;
  }
  #scps-v2-app .roll-card .card-desc .caret {
    display: inline-block;
    width: 2px;
    height: 1.05em;
    margin-left: 2px;
    transform: translateY(2px);
    background: linear-gradient(180deg, var(--g1), var(--g2));
    border-radius: 1px;
    animation: scpsV2_caretBlink .9s step-end infinite;
  }
  #scps-v2-app .roll-card.done .card-desc .caret { opacity: 0; animation: none; }
  @keyframes scpsV2_caretBlink { 0%,100% { opacity: 1; } 50% { opacity: 0; } }

  /* ④ 후속 질문 칩 — 타이핑이 끝나면 순차 등장, 클릭 시 입력창에 채움 */
  #scps-v2-app .chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
    min-height: 33px;
  }
  #scps-v2-app .chip {
    border: 1px solid var(--gb);
    background: #fff;
    border-radius: 100px;
    padding: 7px 13px;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--g1);
    cursor: pointer;
    opacity: 0;
    transition: background .15s ease, border-color .15s ease;
  }
  #scps-v2-app .roll-card.done .chip { animation: scpsV2_riseIn .45s ease both; }
  #scps-v2-app .roll-card.done .chip:nth-child(2) { animation-delay: .12s; }
  #scps-v2-app .chip:hover { background: var(--gsoft); border-color: var(--g1); }
  #scps-v2-app .chip:focus-visible { outline: 2px solid var(--g1); outline-offset: 2px; }
  @keyframes scpsV2_riseIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: none; }
  }

  /* CTA = 가벼운 텍스트형 링크 (칩 다음 등장) */
  #scps-v2-app .roll-card .card-cta {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 16px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--g1);
    width: fit-content;
    opacity: 0;
    transition: gap .15s ease;
  }
  #scps-v2-app .roll-card.done .card-cta { animation: scpsV2_riseIn .45s ease .26s both; }
  #scps-v2-app .roll-card .card-cta:hover { gap: 11px; }
  #scps-v2-app .roll-card .card-cta svg { width: 15px; height: 15px; }

  /* 인디케이터 (키보드 접근 가능한 버튼) */
  #scps-v2-app .roll-dots {
    position: absolute;
    bottom: -26px;
    left: 16px;
    display: flex;
    gap: 7px;
  }
  #scps-v2-app .roll-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #E3CDDD;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: all .35s;
  }
  #scps-v2-app .roll-dot.active {
    width: 22px;
    border-radius: 3px;
    background: linear-gradient(90deg, #A43C93, #C84163);
  }
  #scps-v2-app .roll-dot:focus-visible { outline: 2px solid #A43C93; outline-offset: 2px; }

  @media (prefers-reduced-motion: reduce) {
    #scps-v2-app .roll-card, #scps-v2-app .user-q, #scps-v2-app .ai-id, #scps-v2-app .ai-answer { transition: opacity .3s ease; transform: none; }
    #scps-v2-app .card-title .tw { animation: none; opacity: 1; filter: none; transform: none; }
    #scps-v2-app .roll-card .card-desc .caret { display: none; }
    #scps-v2-app .roll-card.p2:not(.done) .ai-id .ai-spark { animation: none; }
    #scps-v2-app .ai-thinking .shimmer { animation: none; }
    #scps-v2-app .roll-card.done .chip,
    #scps-v2-app .roll-card.done .card-cta { animation: none; opacity: 1; }
  }

  /* ─── CHAT BOTTOM AREA ─── */
  #scps-v2-app .chat-bottom {
    background: #FAFAFB;
    border-top: 1px solid #EFF1F4;
    /* iOS Safari 하단 주소창(iOS 15+) · 홈 인디케이터 영역만큼 여백 확보 → 입력창이 안 가려짐 */
    padding: 16px 24px calc(18px + env(safe-area-inset-bottom, 0px));
    margin-top: auto;
  }

  /* 채팅 영역을 모델~배너 폭(절반 크기)에 맞춰 가운데 정렬 */
  #scps-v2-app .chat-inner {
    max-width: 788px; /* 모델 360 + 간격 48 + 배너 380 = 788 */
    margin: 0 auto;
  }

  /* ─── AI 추천 질문 섹션 (탭 클릭 시 등장) ─── */
  #scps-v2-app .ai-questions-section {
    display: none;            /* 처음엔 숨김 */
    padding: 40px 24px 56px;
    background: #F9F9F9;
    border-top: 1px solid #EFF1F4;
  }
  #scps-v2-app .ai-questions-section.active { display: block; } /* 탭 클릭 시 active로 등장 */
  #scps-v2-app .ai-questions-section .aiq-inner { max-width: 730px; margin: 0 auto; }
  #scps-v2-app .ai-questions-section .aiq-eyebrow {
    font-size: 11px; font-weight: 700;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: #A43C93;
  }
  #scps-v2-app .ai-questions-section .aiq-title {
    font-size: 19px; font-weight: 800;
    color: #2A3038; letter-spacing: -0.5px;
    margin: 6px 0 18px;
  }
  #scps-v2-app .ai-questions-section .question-list {
    display: flex; flex-direction: column; gap: 10px;
  }
  #scps-v2-app .ai-questions-section .question-box {
    background: #fff;
    border: 1px solid #EFE2EC;
    border-radius: 14px;
    padding: 15px 18px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.55;
    color: #2A3038;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s, transform .1s;
  }
  #scps-v2-app .ai-questions-section .question-box:hover {
    border-color: #A43C93;
    box-shadow: 0 6px 18px rgba(164,60,147,.10);
    transform: translateY(-1px);
  }

  /* 로그인 유도: 질문 바 아래 슬림 필 */
  #scps-v2-app[data-auth="user"] #loginHint { display: none !important; }
  #scps-v2-app .login-hint {
    display: flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    max-width: 100%;
    margin: 10px auto 2px;
    background: #FBEAF4;
    border: 1px solid #F0D7EA;
    border-radius: 100px;
    padding: 6px 9px 6px 14px;
    font-size: 12px;
    font-weight: 600;
    color: #A43C93;
  }
  #scps-v2-app .login-hint-text { letter-spacing: -0.01em; }
  #scps-v2-app .login-hint a { color: #A43C93; font-weight: 700; text-decoration: none; white-space: nowrap; }
  #scps-v2-app .login-hint-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background: none;
    border: none;
    border-radius: 50%;
    color: #C99BBE;
    cursor: pointer;
    font-size: 12px;
    line-height: 1;
    padding: 0;
    transition: color .15s, background .15s;
  }
  #scps-v2-app .login-hint-close:hover { color: #A43C93; background: rgba(164,60,147,.08); }

  #scps-v2-app .chat-form {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1.5px solid #E5E5EA;
    border-radius: 16px;
    padding: 10px 14px;
    background: #fff;
    transition: border-color .2s;
  }
  #scps-v2-app .chat-form:focus-within { border-color: #A43C93; }
  #scps-v2-app .chat-form textarea {
    flex: 1;
    border: none;
    outline: none;
    resize: none;
    font-family: inherit;
    font-size: 14px;
    color: #0F1729;
    background: transparent;
    line-height: 1.5;
    max-height: 120px;
    min-height: 24px;
  }
  #scps-v2-app .chat-form textarea::placeholder { color: #9AA3AE; }
  #scps-v2-app .chat-form .icon-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: #9AA3AE;
    display: flex;
    align-items: center;
    padding: 2px;
    transition: color .15s;
  }
  #scps-v2-app .chat-form .icon-btn:hover { color: #A43C93; }
  #scps-v2-app .chat-submit {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #A43C93;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background .15s;
  }
  #scps-v2-app .chat-submit:hover { background: #8E3380; }
  #scps-v2-app .chat-submit svg { color: #fff; }

  #scps-v2-app .chat-disclaimer {
    font-size: 11px;
    color: #9AA3AE;
    text-align: center;
    margin-top: 20px !important;
  }

  /* 카테고리 아이콘 버튼 영역 */
  #scps-v2-app .category-row {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin-top: 10px;
    justify-content: center;
  }
  #scps-v2-app .cat-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 8px 12px;
    border-radius: 12px;
    border: 1px solid #E5E5EA;
    background: #fff;
    cursor: pointer;
    font-size: 11px;
    color: #3F4756;
    transition: all .15s;
    min-width: 64px;
  }
  #scps-v2-app .cat-btn:hover { border-color: #A43C93; color: #A43C93; background: #FBEAF4; }
  #scps-v2-app .cat-btn.active { border-color: #A43C93; color: #fff; background: #A43C93; }
  #scps-v2-app .cat-btn.active svg { stroke: #fff; }
  #scps-v2-app .cat-btn svg { width: 20px; height: 20px; }

  @media (max-width: 768px) {
    /* 사이드바를 슬라이드 드로어로: 기본은 화면 밖, 햄버거로 열기 */
    #scps-v2-app .sidebar {
      display: flex;
      position: fixed; top: 0; left: 0;
      height: 100%; width: 82vw; max-width: 300px;
      transform: translateX(-100%);
      transition: transform .3s cubic-bezier(.16,1,.3,1);
      z-index: 1200;
      box-shadow: 0 0 40px rgba(0,0,0,.4);
    }
    #scps-v2-app.drawer-open .sidebar { transform: translateX(0); }

    /* 햄버거 버튼 — 배경/테두리 없이 줄 세 개만 (깔끔) */
    #scps-v2-app .scps-v2-menu-btn {
      display: inline-flex; align-items: center; justify-content: center;
      position: fixed; top: 12px; right: 12px; z-index: 1300;
      width: 38px; height: 38px; padding: 0;
      border: 1px solid rgba(20,18,16,.06); border-radius: 50%;
      background: rgba(255,255,255,.94); box-shadow: 0 2px 10px rgba(20,18,16,.16);
      -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
      color: #1C1C1E; cursor: pointer;
    }
    #scps-v2-app .scps-v2-menu-btn svg { width: 22px; height: 22px; }
    /* 드로어 열렸을 때: 어두운 드로어 위 → 배경/그림자 제거하고 밝은 아이콘만(닫기 역할) */
    #scps-v2-app.drawer-open .scps-v2-menu-btn { color: #F4EDF2; background: transparent; border-color: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
    /* 채팅 첫 메시지가 햄버거 아래로 시작되도록 상단 여백 확보(겹침 방지) */
    #scps-v2-app.is-chatting .scps-messages-inner { padding-top: 54px; }
    /* 내원상담 예약 패널 열렸을 때도 햄버거 숨김(뒤로) */
    #scps-v2-app:has(.scps-appointment-panel.open) .scps-v2-menu-btn { z-index: 1; opacity: 0; pointer-events: none; }

    /* 배경 오버레이 */
    #scps-v2-app .scps-v2-drawer-backdrop {
      display: block; position: fixed; inset: 0; z-index: 1150;
      background: rgba(20,18,16,.5); opacity: 0; visibility: hidden;
      transition: opacity .3s, visibility .3s;
    }
    #scps-v2-app.drawer-open .scps-v2-drawer-backdrop { opacity: 1; visibility: visible; }

    /* 모바일에서는 세로로 흐르게 하여 상단 텍스트가 잘리지 않도록 함 */
    #scps-v2-app { height: auto; min-height: 100vh; min-height: 100dvh; overflow-y: auto; overflow-x: hidden; display: block; }
    /* 콘텐츠 크기만큼만 채워 위·아래 컴포넌트 사이 빈 공간이 생기지 않게 함 */
    #scps-v2-app .main-wrap { height: auto; min-height: auto; overflow: visible; justify-content: flex-start; }

    /* iOS 상태바(safe-area) 만큼 상단 여백. URL bar 는 스크롤 시 자동 축소되므로 별도 여백 X */
    #scps-v2-app .main-header { padding: calc(14px + env(safe-area-inset-top, 0px)) 20px 4px; }
    #scps-v2-app .scps-v2-menu-btn { top: calc(12px + env(safe-area-inset-top, 0px)); }
    #scps-v2-app .sidebar-logo { padding-top: calc(14px + env(safe-area-inset-top, 0px)); }
    #scps-v2-app .head-split { gap: 12px; margin-bottom: 8px; }
    #scps-v2-app .head-left .hl-num, #scps-v2-app .head-left .hl-word { font-size: clamp(19px, 5.2vw, 26px); }
    #scps-v2-app .head-divider { min-height: 36px; }
    #scps-v2-app .head-right { max-width: 52vw; }
    #scps-v2-app .head-right .hr-lead { font-size: clamp(11.5px, 3.2vw, 14px); margin-bottom: 3px; }
    #scps-v2-app .head-right .hr-detail { font-size: clamp(9.5px, 2.6vw, 11.5px); }
    #scps-v2-app .me-greeting { font-size: clamp(19px, 5.4vw, 24px); }
    #scps-v2-app .me-greeting-sub { font-size: clamp(11px, 3vw, 12.5px); }
    #scps-v2-app .stage-row { flex-direction: column; }
    #scps-v2-app .me-strip { order: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: auto; padding: 0 20px; margin-top: 12px; align-self: auto; }
    #scps-v2-app .me-card { padding: 11px 12px; gap: 9px; }
    #scps-v2-app .me-ico { width: 30px; height: 30px; }
    #scps-v2-app .auth-toggle { top: 10px; right: 10px; padding: 6px 11px; font-size: 11px; }

    /* PC처럼 모델 옆에 배너를 나란히 두되, 화면폭에 맞춰 축소 */
    #scps-v2-app .hero-section {
      width: 100%;
      flex: none;
      flex-direction: row;
      align-items: flex-end;
      justify-content: center;
      gap: 10px;
      padding: 6px 12px 14px;
      overflow: visible;
    }

    /* 모델: 좌측, 화면폭 비례 축소 + 영역 꽉 채움 */
    #scps-v2-app .hero-model {
      width: 40vw; max-width: 175px; min-width: 115px;
      height: clamp(230px, 54vw, 310px);
      margin: 0;
    }
    #scps-v2-app .hero-model img { height: 100%; object-fit: cover; object-position: center top; }

    /* 우측 AI 상담: 남은 폭에 맞춰 축소 (말풍선·후속 칩은 공간상 숨김) */
    /* 모바일: 모델(좌) 옆에 AI 라이브 상담 롤링(우) 노출 — 남은 폭을 채우도록 flex:1 */
    #scps-v2-app .rolling-area { display: flex; flex: 1 1 0; min-width: 0; padding: 0 0 14px; }
    #scps-v2-app .roll-track-wrap { width: 100%; max-width: 230px; min-width: 0; margin: 0; }
    #scps-v2-app .rolling-track { height: clamp(240px, 56vw, 320px); }
    #scps-v2-app .roll-card { padding: 4px 2px 4px 6px; }
    #scps-v2-app .user-q { display: none; }
    #scps-v2-app .chip-row { display: none; }
    #scps-v2-app .ai-id { margin-bottom: 8px; gap: 6px; }
    #scps-v2-app .ai-id .ai-spark { width: 13px; height: 13px; font-size: 7px; border-radius: 4px; }
    #scps-v2-app .ai-id .ai-name { font-size: clamp(11px, 3vw, 12px); }
    #scps-v2-app .ai-id .ai-name em { font-size: clamp(13px, 3.6vw, 14px); }
    #scps-v2-app .ai-id .ai-tag { display: none; }
    #scps-v2-app .ai-statusline { height: 18px; margin-bottom: 4px; }
    #scps-v2-app .ai-thinking .shimmer { font-size: clamp(10.5px, 2.9vw, 12px); }
    #scps-v2-app .roll-card .card-category { font-size: clamp(11px, 3vw, 13px); }
    #scps-v2-app .roll-card .card-title { font-size: clamp(17px, 5vw, 23px); line-height: 1.22; letter-spacing: -0.02em; margin-bottom: 8px; }
    #scps-v2-app .roll-card .card-subtitle { font-size: clamp(9.5px, 2.7vw, 11px); margin: -4px 0 8px; }
    #scps-v2-app .roll-card .card-desc { font-size: clamp(11px, 3vw, 12.5px); line-height: 1.6; min-height: 4.8em; }
    #scps-v2-app .roll-card .card-cta { font-size: clamp(11px, 3vw, 13px); margin-top: 10px; }
    #scps-v2-app .roll-dots { bottom: -18px; left: 6px; }

    /* 하단 챗봇 영역: 뷰포트 바닥 고정/밀어내기를 해제하고 상단 영역 바로 밑에 붙임 */
    #scps-v2-app .chat-bottom { position: static; margin-top: 20px; box-shadow: none; }

    /* 탭: 3열 2행으로 깔끔하게 정렬 (가로 스크롤/뭉개짐 방지) */
    #scps-v2-app .category-row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      width: 100%;
      flex-wrap: initial;
    }
    #scps-v2-app .cat-btn {
      min-width: 0;
      width: 100%;
      padding: 10px 6px;
      font-size: 11px;
    }
    #scps-v2-app .cat-btn svg { width: 18px; height: 18px; }
  }

  /* ═══════════════════════════════════════════════
     대화 스레드 — 운영(/chatbot/) · V1 채팅 UI와 동일
     #scps-v2-app.is-chatting 일 때 히어로/스테이지 숨기고 스레드 노출
     ═══════════════════════════════════════════════ */
  #scps-v2-app.is-chatting .main-header,
  #scps-v2-app.is-chatting .stage-row,
  #scps-v2-app.is-chatting .ai-questions-section { display: none !important; }

  #scps-v2-app .scps-v2-thread {
    display: none;
    position: relative;              /* 뒤로가기 아이콘 절대배치 기준 */
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    width: 100%;
    /* safe-area 만 반영 (URL bar 는 iOS 자연 스크롤로 축소되므로 별도 여백 X) */
    padding-top: env(safe-area-inset-top, 0px);
    box-sizing: border-box;
  }
  #scps-v2-app.is-chatting .scps-v2-thread { display: flex; }

  /* 좌측 상단 플로팅 뒤로가기 아이콘 — safe-area(상태바) 만큼만 밑으로 (URL bar 는 자동 축소) */
  #scps-v2-app .scps-thread-back {
    position: absolute; top: calc(10px + env(safe-area-inset-top, 0px)); left: 12px; z-index: 6;
    width: 34px; height: 34px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%; cursor: pointer;
    color: #A43C93; background: rgba(251,239,248,.92); border: 1px solid #EBD3E5;
    box-shadow: 0 2px 8px rgba(94,52,86,.12);
    -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
    transition: background .15s, border-color .15s, transform .12s;
  }
  #scps-v2-app .scps-thread-back:hover { background: #F6E2F1; border-color: #C792BC; transform: translateX(-1px); }
  #scps-v2-app .scps-thread-back svg { width: 17px; height: 17px; }
  /* 첫 메시지가 뒤로가기 아이콘에 안 가리도록 여백 확보 (safe-area 는 .scps-v2-thread 에서 이미 처리) */
  #scps-v2-app.is-chatting .scps-messages-inner { padding-top: 52px; }

  /* ── 메시지 영역 (V1 동일) ──
     safe-area 는 부모 .scps-v2-thread 의 padding-top 이 흡수 → 여기선 padding-top 불필요 */
  #scps-v2-app .scps-messages { flex: 1; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; overflow-anchor: none; }
  #scps-v2-app .scps-messages-inner { max-width: 768px; margin: 0 auto; width: 100%; padding: 18px 16px 24px; display: flex; flex-direction: column; gap: 16px; }

  #scps-v2-app .scps-date-divider { display: flex; align-items: center; gap: 12px; color: #8E8E93; font-size: 12px; }
  #scps-v2-app .scps-date-divider .line { flex: 1; height: 1px; background: #E5E5EA; }

  /* 사용자 버블 */
  #scps-v2-app .scps-msg-user { display: flex; justify-content: flex-end; }
  #scps-v2-app .scps-msg-user .scps-bubble {
    max-width: 75%; padding: 12px 16px; background: #A43C93; color: #fff;
    border-radius: 16px 16px 6px 16px; box-shadow: 0 1px 2px rgba(0,0,0,.05);
    font-size: 14px; line-height: 1.625; word-break: break-word; white-space: pre-wrap;
  }

  /* AI 메시지 */
  #scps-v2-app .scps-msg-ai { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; width: 100%; }
  #scps-v2-app .scps-msg-ai-row { display: flex; gap: 10px; max-width: 100%; }
  #scps-v2-app .scps-ai-avatar {
    width: 32px; height: 32px; border-radius: 8px; flex-shrink: 0; margin-top: 4px;
    background: #FBEAF4; color: #A43C93;
    display: flex; align-items: center; justify-content: center;
  }
  #scps-v2-app .scps-ai-content {
    flex: 1; min-width: 0; padding: 16px 20px;
    background: #FFFFFF; color: #1C1C1E;
    border: 1px solid #EFF1F4;
    border-radius: 16px 16px 16px 6px;
    box-shadow: 0 1px 2px rgba(15,23,41,.04);
    font-size: 14px; line-height: 1.75; letter-spacing: -0.01em; word-break: keep-all;
  }
  #scps-v2-app .scps-ai-content p { margin: 10px 0; line-height: 1.75; }
  #scps-v2-app .scps-ai-content p:first-child { margin-top: 0; }
  #scps-v2-app .scps-ai-content p:last-child { margin-bottom: 0; }
  #scps-v2-app .scps-ai-content h1 { font-size: 18px; font-weight: 700; margin: 20px 0 10px; color: #0F1729; line-height: 1.45; padding-bottom: 5px; border-bottom: 1px solid #EFF1F4; }
  #scps-v2-app .scps-ai-content h1:first-child { margin-top: 0; }
  #scps-v2-app .scps-ai-content h2 { font-size: 16px; font-weight: 700; margin: 20px 0 10px; color: #0F1729; line-height: 1.45; padding-bottom: 5px; border-bottom: 1px solid #EFF1F4; }
  #scps-v2-app .scps-ai-content h2:first-child { margin-top: 0; }
  #scps-v2-app .scps-ai-content h3 { font-size: 15px; font-weight: 700; margin: 18px 0 8px; color: #0F1729; line-height: 1.45; padding-bottom: 5px; border-bottom: 1px solid #EFF1F4; }
  #scps-v2-app .scps-ai-content h3:first-child { margin-top: 0; }
  #scps-v2-app .scps-ai-content ul, #scps-v2-app .scps-ai-content ol { padding-left: 20px; margin: 10px 0; }
  #scps-v2-app .scps-ai-content li { margin: 6px 0; line-height: 1.75; padding-left: 2px; }
  #scps-v2-app .scps-ai-content ul li::marker { color: #9BC916; font-size: 1.05em; }
  #scps-v2-app .scps-ai-content ol li::marker { color: #A43C93; font-weight: 700; }
  #scps-v2-app .scps-ai-content strong { font-weight: 700; color: #0F1729; }
  #scps-v2-app .scps-ai-content a { color: #A43C93; }

  /* 답변 하단 후속 질문(상담 유도) 콜아웃 — 시안 동일 */
  #scps-v2-app .scps-ai-content .consult-question {
    background: #E8F8EB; color: #1C7C3A;
    border-radius: 14px; padding: 13px 16px; margin: 18px 0 4px;
    font-size: 14px; font-weight: 600; line-height: 1.55; word-break: keep-all;
  }
  #scps-v2-app .scps-ai-content .consult-question:last-child { margin-bottom: 0; }

  /* 답변 하단 안내(디스클레이머) — 시안 동일 */
  #scps-v2-app .scps-ai-content .scps-msg-disclaimer {
    display: flex; align-items: flex-start; gap: 8px;
    background: #F7F8F9; border-radius: 12px; padding: 8px 12px; margin: 12px 0 0;
  }
  #scps-v2-app .scps-ai-content .scps-msg-disclaimer svg { flex-shrink: 0; margin-top: 1px; color: #B4BBC6; }
  #scps-v2-app .scps-ai-content .scps-msg-disclaimer span { font-size: 12px; line-height: 1.6; color: #8A929E; word-break: keep-all; }

  /* 로딩 */
  #scps-v2-app .scps-loading-dots { display: flex; gap: 5px; padding: 16px 20px; align-items: center; background: #FFFFFF; border: 1px solid #EFF1F4; border-radius: 16px 16px 16px 6px; }
  #scps-v2-app .scps-loading-dots span.dot { width: 8px; height: 8px; border-radius: 50%; background: #A43C93; animation: scpsV2_dot .9s ease-in-out infinite; }
  #scps-v2-app .scps-loading-dots span.dot:nth-child(2) { animation-delay: .15s; }
  #scps-v2-app .scps-loading-dots span.dot:nth-child(3) { animation-delay: .3s; }
  #scps-v2-app .scps-loading-text { font-size: 14px; color: #8E8E93; padding-left: 4px; }
  @keyframes scpsV2_dot { 0%,80%,100% { transform: scale(.8); opacity: .5; } 40% { transform: scale(1.1); opacity: 1; } }

  /* 채팅 추천질문 (전체폭, 들여쓰기) */
  #scps-v2-app .scps-chat-suggestions { display: flex; flex-direction: column; gap: 8px; margin-left: 42px; width: calc(100% - 42px); }
  #scps-v2-app .scps-chat-suggestion-btn {
    display: flex; align-items: center; gap: 10px; width: 100%; text-align: left;
    padding: 12px 16px; font-size: 14px; color: #1C1C1E;
    background: #FFFFFF; border: 1px solid #E5E5EA;
    border-radius: 9999px; cursor: pointer; font-family: inherit;
    transition: border-color .15s, color .15s, opacity .35s ease, transform .35s ease;
  }
  #scps-v2-app .scps-chat-suggestion-btn.scps-sugg-hidden { opacity: 0; transform: translateY(6px); pointer-events: none; }
  #scps-v2-app .scps-chat-suggestion-btn svg { flex-shrink: 0; color: #8E8E93; transition: color .15s; }
  #scps-v2-app .scps-chat-suggestion-btn span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  #scps-v2-app .scps-chat-suggestion-btn:hover { border-color: #A43C93; color: #1C7C3A; }
  #scps-v2-app .scps-chat-suggestion-btn:hover svg { color: #A43C93; }

  @media (max-width: 768px) {
    #scps-v2-app .scps-thread-bar { padding: 12px 14px 0; }
    #scps-v2-app .scps-thread-back { font-size: 11.5px; padding: 5px 11px 5px 9px; }
    #scps-v2-app .scps-thread-back svg { width: 13px; height: 13px; }
    #scps-v2-app .scps-messages-inner { padding: 14px 14px 20px; gap: 14px; }
    #scps-v2-app .scps-msg-ai-row { max-width: 100%; }
    #scps-v2-app .scps-msg-user .scps-bubble { max-width: 85%; font-size: 13.5px; }
    #scps-v2-app .scps-ai-content { padding: 14px 16px; font-size: 13.5px; }
    #scps-v2-app .scps-chat-suggestions { margin-left: 0; width: 100%; }
    #scps-v2-app .scps-ba-login-gate { margin-left: 0; }
    #scps-v2-app .scps-ba-wrap { margin-left: 0; width: 100%; }
    #scps-v2-app .scps-chat-suggestion-btn { font-size: 13px; padding: 11px 14px; }
  }

  /* ═══════════════════════════════════════════════
     롤링 카드별 글자·칩·CTA 색상 커스텀 (요청 반영)
     .tw.grad 는 기본이 그라디언트라 단색으로 덮어씀
     ═══════════════════════════════════════════════ */
  /* 카드1 · 가슴성형 (카드2와 색 교환) */
  #scps-v2-app .roll-card:nth-child(1) .card-title .tw.grad {
    background-image: none; -webkit-text-fill-color: #6a9a55; color: #6a9a55;
  }
  #scps-v2-app .roll-card:nth-child(1) .card-title .tw.ink { color: #272927; }
  #scps-v2-app .roll-card:nth-child(1) .chip { border-color: #9dc38d; color: #9dc38d; }
  #scps-v2-app .roll-card:nth-child(1) .card-cta { color: #5b8849; }

  /* 카드2 · 얼굴성형 (카드1과 색 교환) */
  #scps-v2-app .roll-card:nth-child(2) .card-title .tw.grad {
    background-image: none; -webkit-text-fill-color: #2a685c; color: #2a685c;
  }
  #scps-v2-app .roll-card:nth-child(2) .card-title .tw.ink { color: #272927; }
  #scps-v2-app .roll-card:nth-child(2) .chip { border-color: #409483; color: #409483; }
  #scps-v2-app .roll-card:nth-child(2) .card-cta { color: #2a685c; }

  /* 카드3 · 지방흡입 */
  #scps-v2-app .roll-card:nth-child(3) .card-title .tw.grad {
    background-image: none; -webkit-text-fill-color: #c49451; color: #c49451;
  }
  #scps-v2-app .roll-card:nth-child(3) .card-title .tw.ink { color: #272927; }
  #scps-v2-app .roll-card:nth-child(3) .chip { border-color: #c5a270; }
  #scps-v2-app .roll-card:nth-child(3) .card-cta { color: #bb8943; }

  /* ═══════════════════════════════════════════════
     내원상담 예약 패널 (운영/chatbot/ · V1 동일)
     ═══════════════════════════════════════════════ */
  #scps-v2-app .scps-appointment-panel {
    position: fixed; top: 0; left: 240px; height: 100%;
    width: 100%; max-width: 400px; background: #fff; z-index: 30;
    display: flex; flex-direction: column;
    box-shadow: 0 0 11px rgba(0,0,0,.08);
    /* 운영 동일: 닫힘 translateX(-100%) → 0~240 누출분은 사이드바(z-index:40)가 가림, 열리면 사이드바 뒤에서 나옴 */
    transform: translateX(-100%); transition: transform .25s ease;
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    letter-spacing: -0.02em;
  }
  #scps-v2-app .scps-appointment-panel.open { transform: translateX(0); }
  #scps-v2-app .scps-appt { display: flex; flex-direction: column; height: 100%; min-height: 0; }
  #scps-v2-app .scps-appt-header { display: flex; align-items: center; justify-content: space-between; padding: 12px 18px; flex-shrink: 0; border-bottom: 1px solid #ECF0F3; }
  #scps-v2-app .scps-appt-title { font-size: 14px; font-weight: 700; letter-spacing: -0.02em; color: #2A3038; margin: 0; }
  #scps-v2-app .scps-appt-close { width: 33px; height: 33px; border-radius: 6px; display: flex; align-items: center; justify-content: center; background: none; border: none; cursor: pointer; color: #858A94; transition: background .15s; }
  #scps-v2-app .scps-appt-close:hover { background: #F3F4F5; }
  #scps-v2-app .scps-appt-body { flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 12px 18px; display: flex; flex-direction: column; gap: 20px; }
  #scps-v2-app .scps-appt-acc { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 4px 0; background: none; border: none; cursor: pointer; font-family: inherit; }
  #scps-v2-app .scps-appt-acc-label { font-weight: 600; color: #2A3038; }
  #scps-v2-app .scps-appt-acc-date, #scps-v2-app .scps-appt-acc-visitor { font-size: 14px; }
  #scps-v2-app .scps-appt-acc-time { font-size: 13px; }
  #scps-v2-app .scps-appt-chev { width: 16px; height: 16px; color: #9AA3AE; transition: transform .2s; flex-shrink: 0; }
  #scps-v2-app .scps-appt-acc[aria-expanded="true"] .scps-appt-chev { transform: rotate(180deg); }
  #scps-v2-app .scps-appt-acc-body.collapsed { display: none; }
  #scps-v2-app .scps-cal { font-size: 13px; }
  #scps-v2-app .scps-cal-nav-row { display: flex; align-items: center; justify-content: space-between; margin: 12px 0; }
  #scps-v2-app .scps-cal-nav { padding: 4px; border-radius: 6px; background: none; border: none; cursor: pointer; color: #858A94; display: flex; align-items: center; justify-content: center; transition: background .15s; }
  #scps-v2-app .scps-cal-nav:hover { background: #F3F4F5; }
  #scps-v2-app .scps-cal-month { font-size: 14px; font-weight: 600; color: #2A3038; margin: 0; }
  #scps-v2-app .scps-cal-dow-row { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; text-align: center; margin-bottom: 4px; }
  #scps-v2-app .scps-cal-dow { font-size: 11px; font-weight: 500; color: #858A94; }
  #scps-v2-app .scps-cal-dow.sun { color: #FF3B30; }
  #scps-v2-app .scps-cal-dow.sat { color: #007AFF; }
  #scps-v2-app .scps-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; text-align: center; }
  #scps-v2-app .scps-cal-cell { width: 36px; height: 36px; margin: 0 auto; border-radius: 4px; display: flex; align-items: center; justify-content: center; font-size: 12px; color: #2A3038; background: none; border: none; cursor: pointer; transition: background .15s, box-shadow .15s, color .15s; font-family: inherit; }
  #scps-v2-app .scps-cal-cell.sat { color: #007AFF; }
  #scps-v2-app .scps-cal-cell:hover:not(.is-disabled):not(.is-selected):not(.is-today) { background: #F3F4F5; }
  #scps-v2-app .scps-cal-cell.is-today { box-shadow: inset 0 0 0 2px #007AFF; color: #007AFF; font-weight: 600; }
  #scps-v2-app .scps-cal-cell.is-selected { background: #1A1C20; color: #fff; font-weight: 600; box-shadow: none; }
  #scps-v2-app .scps-cal-cell.is-disabled { cursor: not-allowed; }
  #scps-v2-app .scps-cal-cell.d-weekday { color: #C7CCD3; }
  #scps-v2-app .scps-cal-cell.d-sat-past { color: rgba(0,122,255,.3); }
  #scps-v2-app .scps-cal-cell.d-sun-past { color: rgba(255,59,48,.3); }
  #scps-v2-app .scps-cal-cell.d-sun-future { color: #FF3B30; }
  #scps-v2-app .scps-cal-cell.d-blocked { color: #C7CCD3; }
  #scps-v2-app .scps-cal-empty { width: 36px; height: 36px; }
  #scps-v2-app .scps-cal-selected { font-size: 11px; color: #1A1C20; text-align: center; margin-top: 8px; margin-bottom: 0; }
  #scps-v2-app .scps-time-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 8px; }
  #scps-v2-app .scps-time-btn { padding: 8px 0; border-radius: 6px; border: none; background: #F3F4F5; font-size: 12px; font-weight: 500; color: #545D6D; cursor: pointer; transition: background .15s, color .15s; font-family: inherit; }
  #scps-v2-app .scps-time-btn:hover:not(.is-selected):not(:disabled) { background: #ECF0F3; }
  #scps-v2-app .scps-time-btn.is-selected { background: #1A1C20; color: #fff; }
  #scps-v2-app .scps-time-btn:disabled { background: #ECF0F3; color: #B1B3BB; cursor: not-allowed; }
  #scps-v2-app .scps-notice-box { background: #F3F4F5; border-radius: 16px; padding: 12px; margin-top: 16px; }
  #scps-v2-app .scps-notice-title { font-size: 11px; font-weight: 600; color: #545D6D; margin: 0 0 4px; }
  #scps-v2-app .scps-notice-box ul { font-size: 10px; color: #858A94; list-style: disc; padding-left: 1.1em; margin: 0; }
  #scps-v2-app .scps-notice-box li { line-height: 1.7; }
  #scps-v2-app .scps-appt-acc-body[data-acc-body="visitor"] { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }
  #scps-v2-app .scps-appt-hint { font-size: 12px; color: #858A94; margin: 0; line-height: 1.5; }
  #scps-v2-app .scps-appt-input { display: block; width: 100%; border: 1px solid #DDDEE2; border-radius: 4px; padding: 10px 16px; font-size: 13px; background: #fff; color: #2A3038; outline: none; transition: border-color .15s; font-family: inherit; margin: 0; }
  #scps-v2-app .scps-appt-input:focus { border-color: #1A1C20; }
  #scps-v2-app .scps-appt-input::placeholder { color: #9AA3AE; }
  #scps-v2-app .scps-appt-select-wrap { position: relative; margin: 0; }
  #scps-v2-app .scps-appt-select { appearance: none; -webkit-appearance: none; width: 100%; padding: 10px 36px 10px 16px; font-size: 13px; border: 1px solid #DDDEE2; border-radius: 4px; background: #fff; color: #2A3038; outline: none; cursor: pointer; font-family: inherit; }
  #scps-v2-app .scps-appt-select:focus { border-color: #1A1C20; }
  #scps-v2-app .scps-appt-select-chev { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: #9AA3AE; pointer-events: none; }
  #scps-v2-app .scps-appt-summary { background: #F7F8F9; border-radius: 16px; padding: 16px; display: flex; flex-direction: column; gap: 8px; margin: 0; }
  #scps-v2-app .scps-appt-summary-title { font-size: 13px; font-weight: 600; color: #2A3038; margin: 0; }
  #scps-v2-app .scps-appt-summary-row { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; padding: 0; }
  #scps-v2-app .scps-appt-summary-row span:first-child { color: #858A94; flex-shrink: 0; }
  #scps-v2-app .scps-appt-summary-row span:last-child { color: #2A3038; font-weight: 500; text-align: right; }
  #scps-v2-app .scps-appt-submit { display: block; width: 100%; margin: 0; background: #1A1C20; color: #fff; text-align: center; padding: 12px 0; border-radius: 8px; border: none; font-size: 13px; font-weight: 600; cursor: pointer; transition: opacity .2s; font-family: inherit; }
  #scps-v2-app .scps-appt-submit:disabled { opacity: .45; cursor: not-allowed; }
  #scps-v2-app .scps-appt-submit:not(:disabled):hover { opacity: .88; }

  @media (max-width: 768px) {
    #scps-v2-app .scps-appointment-panel { left: 0; max-width: 100%; }
  }

  /* ═══════════════════════════════════════════════
     길찾기 드롭다운 + SNS (운영/chatbot/ · V1 동일)
     ═══════════════════════════════════════════════ */
  #scps-v2-app .scps-nav-dropdown { position: relative; }
  /* 오리지널 dropdown 스타일 — 인라인 카드(--inline) 에는 적용 안 함 */
  #scps-v2-app .scps-dropdown-menu:not(.scps-dropdown-menu--inline) {
    display: none; position: absolute; left: 0; z-index: 50;
    flex-direction: column; min-width: 192px;
    background: #FFFFFF;
    border: 1px solid #EFF1F4; border-radius: 12px;
    padding: 6px 0;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
  }
  #scps-v2-app .scps-nav-dropdown.open .scps-dropdown-menu:not(.scps-dropdown-menu--inline) { display: flex; }
  /* 버튼 위로 띄움 (dropdown 모드 전용 · 인라인 카드에는 적용 안 함) */
  #scps-v2-app #scpsMapDropdown .scps-dropdown-menu:not(.scps-dropdown-menu--inline) { bottom: 100%; margin-bottom: 6px; width: 208px; left: auto; right: 0; }
  #scps-v2-app .scps-dropdown-menu:not(.scps-dropdown-menu--inline) .scps-dropdown-item {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 16px; margin: 0 4px; border-radius: 9999px;
    color: #3F4756; font-size: 12px;
    text-decoration: none; background: none; border: none;
    cursor: pointer; transition: background .15s, color .15s; text-align: left;
  }
  #scps-v2-app .scps-dropdown-menu:not(.scps-dropdown-menu--inline) .scps-dropdown-item:hover { background: #F7F8F9; color: #1C1C1E; }
  #scps-v2-app .scps-dropdown-menu:not(.scps-dropdown-menu--inline) .scps-map-ico { width: 20px; height: 20px; border-radius: 6px; object-fit: contain; flex-shrink: 0; }

  /* SNS 버튼 */
  #scps-v2-app .scps-sns { display: flex; align-items: center; gap: 14px; }
  #scps-v2-app .scps-sns-btn { opacity: .9; transition: opacity .2s; line-height: 0; }
  #scps-v2-app .scps-sns-btn:hover { opacity: 1; }
  #scps-v2-app .scps-sns-btn svg { width: 22px; height: 22px; display: block; }

  /* 푸터 로그인 버튼 (비로그인) */
  #scps-v2-app .scps-v2-footer-login-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    color: #c0b4be;
    background: transparent;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 100px;
    padding: 5px 11px;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s, transform .15s;
    white-space: nowrap;
    line-height: 1;
  }
  #scps-v2-app .scps-v2-footer-login-btn:hover { background: rgba(158,61,142,.18); border-color: rgba(174,92,160,.4); color: #fff; transform: translateY(-1px); }
  #scps-v2-app .scps-v2-footer-login-btn:hover svg { stroke: #f2bfe7; }
  #scps-v2-app .scps-v2-footer-login-btn:active { background: rgba(158,61,142,.28); transform: translateY(0); }
  #scps-v2-app .scps-v2-footer-login-btn svg { width: 13px; height: 13px; flex-shrink: 0; transition: stroke .15s; }

  /* 푸터 사용자 이름 (로그인 후) */
  #scps-v2-app .scps-v2-footer-user-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 600;
    color: #c0b4be;
    white-space: nowrap;
    max-width: 90px;
    overflow: hidden;
  }
  #scps-v2-app .scps-v2-footer-user-label svg { width: 13px; height: 13px; flex-shrink: 0; }
  #scps-v2-app .scps-v2-footer-user-label span { overflow: hidden; text-overflow: ellipsis; }

  /* 티맵 PC 안내 모달 (V1 동일) */
  #scps-v2-app .scps-tmap-modal { position: fixed; inset: 0; z-index: 2000; display: none; align-items: center; justify-content: center; }
  #scps-v2-app .scps-tmap-modal.open { display: flex; }
  #scps-v2-app .scps-tmap-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.45); opacity: 0; transition: opacity .2s ease; }
  #scps-v2-app .scps-tmap-modal.open .scps-tmap-modal-backdrop { opacity: 1; }
  #scps-v2-app .scps-tmap-modal-card {
    position: relative; width: calc(100% - 48px); max-width: 320px;
    background: #fff; border-radius: 18px; padding: 36px 28px 26px; text-align: center;
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
    transform: translateY(8px) scale(.96); opacity: 0;
    transition: transform .22s cubic-bezier(.2,.8,.2,1), opacity .22s ease;
  }
  #scps-v2-app .scps-tmap-modal.open .scps-tmap-modal-card { transform: translateY(0) scale(1); opacity: 1; }
  #scps-v2-app .scps-tmap-modal-ico { width: 60px; height: 60px; margin: 0 auto 24px; border-radius: 50%; background: #F2F5F8; color: #2A3038; display: flex; align-items: center; justify-content: center; }
  #scps-v2-app .scps-tmap-modal-title { font-size: 17px; font-weight: 700; color: #1C1C1E; margin: 0 0 18px !important; letter-spacing: -.01em; word-break: keep-all; line-height: 1.45; }
  #scps-v2-app .scps-tmap-modal-desc { font-size: 13px; line-height: 20px !important; color: #6B7280; margin: 0 0 20px !important; word-break: keep-all; }
  #scps-v2-app .scps-tmap-modal-actions { display: flex; flex-direction: column; gap: 10px; }
  #scps-v2-app .scps-tmap-modal-copy { width: 100%; padding: 13px; border-radius: 10px; border: 1px solid #E2E5EA; background: #fff; color: #3F4756; font-size: 13px; font-weight: 600; cursor: pointer; transition: background .15s; font-family: inherit; }
  #scps-v2-app .scps-tmap-modal-copy:hover { background: #F7F8F9; }
  #scps-v2-app .scps-tmap-modal-close { width: 100%; padding: 14px; border-radius: 10px; border: none; background: #A43C93; color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; transition: opacity .15s; font-family: inherit; }
  #scps-v2-app .scps-tmap-modal-close:hover { opacity: .92; }

  /* ═══════════════════════════════════════════════
     보정: 채팅 모드 스크롤 / 퀵타일·SNS 크기 / 입력영역 배경
     ═══════════════════════════════════════════════ */
  /* 채팅 모드: 페이지 스크롤 없이 메시지 영역만 내부 스크롤 (운영 동일) — iOS 하단 주소창 대응 dvh */
  #scps-v2-app.is-chatting { height: 100vh; height: 100dvh; min-height: 0; overflow: hidden; }
  #scps-v2-app.is-chatting .main-wrap { min-height: 0; }
  #scps-v2-app .scps-v2-thread { min-height: 0; }
  #scps-v2-app .scps-messages { min-height: 0; }

  /* 모바일: 채팅 모드에서 main-wrap 을 앱(=100vh) 높이에 묶어 메시지 영역만 내부 스크롤되게 함.
     (홈 모드의 main-wrap height:auto 가 채팅 모드 모바일에서 스크롤 컨텍스트를 깨던 문제) */
  @media (max-width: 768px) {
    #scps-v2-app.is-chatting .main-wrap { height: 100%; max-height: 100%; min-height: 0; overflow: hidden; display: flex; flex-direction: column; }
    #scps-v2-app.is-chatting .scps-v2-thread { flex: 1 1 auto; min-height: 0; }
    #scps-v2-app.is-chatting .scps-messages { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; }
  }

  /* 퀵타일: 내원예약 / 오시는길(드롭다운 래퍼) 박스 크기 동일하게 */
  #scps-v2-app .quick-grid .scps-nav-dropdown { display: flex; }
  #scps-v2-app .quick-grid .scps-nav-dropdown > .quick-tile { width: 100%; }

  /* SNS 버튼: 세 아이콘 광학적 크기 통일 — 높이 고정·폭 자동.
     (각 svg viewBox 를 아트워크에 맞게 타이트하게 조정해 유튜브=가로형, 네이버/인스타=동일 정사각으로 정렬) */
  #scps-v2-app .scps-sns-btn { display: inline-flex; align-items: center; justify-content: center; height: 22px; padding: 0; }
  #scps-v2-app .scps-sns-btn svg { width: auto; height: 22px; display: block; }
  /* 세 SNS 모두 동일한 둥근 사각형 배지(브랜드색 배경 + 흰 글리프) → 정사각 22×22 통일 */

  /* 입력 하단 영역: 흰색 띠 제거(페이지 배경과 동일하게) */
  #scps-v2-app .chat-bottom { background: #FAFAFB; border-top: 1px solid #EFF1F4; }

  /* 퀵타일 라벨 정렬: <a>/<button> line-height 차이로 텍스트 높이가 어긋나는 것 통일 */
  #scps-v2-app .quick-tile { line-height: 1.45; }

  /* head-right: 리드/디테일 사이 간격 (테마 p 리셋이 덮어써 !important로 시안 간격 복원) */
  #scps-v2-app .head-right .hr-lead { margin-bottom: 6px !important; }

  /* 입력창 포커스 시 테마(Salient) 전역 textarea:focus box-shadow 제거 */
  #scps-v2-app .chat-form textarea:focus { box-shadow: none !important; }

  /* main-wrap 스크롤바: 채팅 모드에서만 숨김(빈 막대 제거).
     홈/랜딩 모드에서는 노출 → 카테고리 클릭으로 내려간 뒤 다시 위로 스크롤 가능 */
  #scps-v2-app.is-chatting .main-wrap { scrollbar-width: none; -ms-overflow-style: none; }
  #scps-v2-app.is-chatting .main-wrap::-webkit-scrollbar { width: 0; height: 0; }

  /* hero-eyebrow: 테마 폰트 덮어쓰기 방지 — Cormorant Garamond 이탤릭 강제 */
  #scps-v2-app .hero-eyebrow { font-family: 'Cormorant Garamond', serif !important; font-style: italic !important; }

  /* 음성 입력: 녹음 중 표시 */
  #scps-v2-app .chat-form .icon-btn.listening { color: #A43C93; animation: scpsV2_micPulse 1s ease-in-out infinite; }
  @keyframes scpsV2_micPulse { 0%,100% { opacity: 1; } 50% { opacity: .4; } }

  /* 채팅 모드에서는 카테고리 버튼 숨김 */
  #scps-v2-app.is-chatting .category-row { display: none !important; }

  /* 답변 본문 간격: 테마 전역 리셋을 이기도록 !important (운영 V1 동일) */
  #scps-v2-app .scps-ai-content p { margin: 12px 0 !important; line-height: 1.78 !important; }
  #scps-v2-app .scps-ai-content p:first-child { margin-top: 0 !important; }
  #scps-v2-app .scps-ai-content p:last-child { margin-bottom: 0 !important; }
  #scps-v2-app .scps-ai-content h1 { margin: 22px 0 10px !important; line-height: 1.4 !important; }
  #scps-v2-app .scps-ai-content h2 { margin: 20px 0 9px !important; line-height: 1.4 !important; }
  #scps-v2-app .scps-ai-content h3 { margin: 16px 0 7px !important; line-height: 1.4 !important; }
  #scps-v2-app .scps-ai-content h1:first-child,
  #scps-v2-app .scps-ai-content h2:first-child,
  #scps-v2-app .scps-ai-content h3:first-child { margin-top: 0 !important; }
  #scps-v2-app .scps-ai-content ul,
  #scps-v2-app .scps-ai-content ol { margin: 12px 0 !important; padding-left: 20px !important; }
  #scps-v2-app .scps-ai-content li { margin: 7px 0 !important; line-height: 1.78 !important; }

  /* 로고 워드마크(SC301): 테마 폰트 덮어쓰기 방지 — 지정 스타일 강제 */
  #scps-v2-app .logo-wordmark {
    font-family: 'Noto Serif KR', serif !important;
    font-style: normal !important;
    font-weight: 700 !important;
    font-size: 28px !important;
    line-height: 1 !important;
    letter-spacing: 0.12em !important;
    color: #fbedf8 !important;
  }

  /* 로고(SC301) 클릭 시 홈으로 이동 */
  #scps-v2-app .logo-home { display: inline-block; text-decoration: none; cursor: pointer; }
  #scps-v2-app .logo-home .logo-wordmark { cursor: pointer; }

  /* [cite:...] 인용 배지 (📋) + 호버 출처 툴팁 — 운영/chatbot/(V1) 동일 */
  #scps-v2-app .scps-ai-content .citation-badge {
    position: relative; display: inline-flex; align-items: center; justify-content: center;
    width: 16px; height: 16px; margin: 0 2px; border-radius: 4px;
    background: #F2F3F5; font-size: 9px; line-height: 1;
    vertical-align: middle; cursor: help;
  }
  #scps-v2-app .scps-ai-content .citation-badge::after {
    content: "출처: " attr(data-cite);
    position: absolute; left: 50%; bottom: calc(100% + 9px);
    transform: translateX(-50%) translateY(4px);
    width: max-content; max-width: 220px;
    padding: 8px 11px; border-radius: 8px;
    background: #1F2024; color: #fff;
    font-size: 12px; font-weight: 400; line-height: 1.45; letter-spacing: normal;
    white-space: normal; text-align: left;
    box-shadow: 0 6px 20px rgba(0,0,0,.25);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .15s ease, transform .15s ease; z-index: 60;
  }
  #scps-v2-app .scps-ai-content .citation-badge::before {
    content: ""; position: absolute; left: 50%; bottom: calc(100% + 4px);
    transform: translateX(-50%);
    border: 5px solid transparent; border-top-color: #1F2024;
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .15s ease; z-index: 60;
  }
  #scps-v2-app .scps-ai-content .citation-badge:hover::after { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
  #scps-v2-app .scps-ai-content .citation-badge:hover::before { opacity: 1; visibility: visible; }

  /* 답변 아래 '상담 예약하기' CTA (예약 의도 감지 시 노출 · 클릭 시 예약 패널 오픈) */
  #scps-v2-app .scps-appt-cta-inline {
    display: inline-flex; align-items: center; gap: 8px;
    margin: 12px 0 2px 44px;            /* 아바타 폭만큼 들여쓰기 */
    padding: 10px 18px; border: none; border-radius: 999px; cursor: pointer;
    font-family: inherit; font-size: 13.5px; font-weight: 600; letter-spacing: -0.01em;
    color: #fff; background: linear-gradient(135deg, #A43C93, #C84163);
    box-shadow: 0 8px 20px -10px rgba(164,60,147,.6); transition: transform .15s, box-shadow .15s, filter .15s;
  }
  #scps-v2-app .scps-appt-cta-inline:hover { filter: brightness(1.05); box-shadow: 0 10px 24px -10px rgba(164,60,147,.7); }
  #scps-v2-app .scps-appt-cta-inline:active { transform: translateY(1px); }
  #scps-v2-app .scps-appt-cta-inline svg { width: 16px; height: 16px; }
  @media (max-width: 768px) {
    #scps-v2-app .scps-appt-cta-inline { margin-left: 0; width: 100%; justify-content: center; }
  }

  /* ════════════ 로그인 (사이드바 타일 + 사용자 메뉴 + 모달) ════════════ */
  /* 로그인/사용자 타일은 .quick-tile 기본 스타일을 상속 — show-guest/show-user 로 자동 스위칭 */
  #scps-v2-app .scps-v2-user-tile { position: relative; }
  #scps-v2-app .scps-v2-user-tile .scps-v2-user-name {
    max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  #scps-v2-app .scps-v2-user-tile .scps-v2-user-caret { font-size: 10px; opacity: .7; margin-top: -2px; }

  #scps-v2-app .scps-v2-user-menu {
    display: none; position: absolute; z-index: 40;
    top: calc(100% + 6px); left: 0; right: 0;
    padding: 6px; border-radius: 12px;
    background: #2b2229; border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 12px 28px -12px rgba(0,0,0,.55);
    flex-direction: column; gap: 2px;
  }
  #scps-v2-app .scps-v2-user-tile[aria-expanded="true"] .scps-v2-user-menu { display: flex; }
  #scps-v2-app .scps-v2-user-menu-item {
    display: block; width: 100%; padding: 9px 10px; border: 0; background: transparent;
    color: #D8CDD5; font: inherit; font-size: 12px; text-align: left; text-decoration: none; border-radius: 8px;
    cursor: pointer; transition: background .15s, color .15s;
  }
  #scps-v2-app .scps-v2-user-menu-item:hover { background: rgba(158,61,142,.18); color: #fff; }

  /* 모달 */
  #scps-v2-app .scps-v2-login-modal {
    position: fixed; inset: 0; z-index: 9000;
    display: flex; align-items: center; justify-content: center;
    padding: 24px;
  }
  #scps-v2-app .scps-v2-login-modal[hidden] { display: none; }
  #scps-v2-app .scps-v2-login-backdrop {
    position: absolute; inset: 0;
    background: rgba(20, 12, 20, .58); backdrop-filter: blur(4px);
  }
  #scps-v2-app .scps-v2-login-dialog {
    position: relative; z-index: 1;
    width: 100%; max-width: 380px;
    background: #FDFBFA; color: #2A1E28;
    border-radius: 18px;
    box-shadow: 0 30px 60px -20px rgba(0,0,0,.35), 0 8px 24px -12px rgba(0,0,0,.2);
    padding: 28px 28px 22px;
    animation: scpsV2LoginPop .18s ease-out;
  }
  @keyframes scpsV2LoginPop { from { transform: translateY(6px) scale(.98); opacity: 0; } to { transform: none; opacity: 1; } }
  #scps-v2-app .scps-v2-login-close {
    position: absolute; top: 10px; right: 12px;
    width: 32px; height: 32px; border: 0; background: transparent;
    color: #7A6E77; font-size: 18px; cursor: pointer; border-radius: 8px;
    display: inline-flex; align-items: center; justify-content: center;
  }
  #scps-v2-app .scps-v2-login-close:hover { background: rgba(0,0,0,.05); color: #2A1E28; }
  #scps-v2-app .scps-v2-login-head { text-align: center; margin-bottom: 18px; }
  #scps-v2-app .scps-v2-login-title {
    margin: 4px 0 6px; font-size: 20px; font-weight: 700; letter-spacing: -0.01em;
    color: #2A1E28;
  }
  #scps-v2-app .scps-v2-login-sub { margin: 0; font-size: 12.5px; color: #7A6E77; }
  #scps-v2-app .scps-v2-login-form { display: flex; flex-direction: column; gap: 12px; }
  #scps-v2-app .scps-v2-login-label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: #6E5F6A; }
  #scps-v2-app .scps-v2-login-label input {
    width: 100%; padding: 11px 12px; font-size: 14px; font-family: inherit;
    border: 1px solid #E3D9E1; border-radius: 10px; background: #fff; color: #2A1E28;
    transition: border-color .15s, box-shadow .15s;
    box-sizing: border-box;
  }
  #scps-v2-app .scps-v2-login-label input:focus {
    outline: none; border-color: #A43C93; box-shadow: 0 0 0 3px rgba(164,60,147,.15);
  }
  #scps-v2-app .scps-v2-login-remember {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 12.5px; color: #6E5F6A; cursor: pointer; user-select: none;
  }
  #scps-v2-app .scps-v2-login-remember input { accent-color: #A43C93; }
  #scps-v2-app .scps-v2-login-error {
    margin: 0; min-height: 1em;
    font-size: 12px; color: #C0392B;
  }
  #scps-v2-app .scps-v2-login-submit {
    padding: 12px 14px; border: 0; border-radius: 12px; cursor: pointer;
    font-family: inherit; font-size: 14px; font-weight: 700;
    color: #fff; background: linear-gradient(135deg, #A43C93, #C84163);
    box-shadow: 0 10px 22px -12px rgba(164,60,147,.55);
    transition: transform .15s, filter .15s, box-shadow .15s;
  }
  #scps-v2-app .scps-v2-login-submit:hover { filter: brightness(1.05); }
  #scps-v2-app .scps-v2-login-submit:active { transform: translateY(1px); }
  #scps-v2-app .scps-v2-login-submit[disabled] { opacity: .6; cursor: not-allowed; }
  #scps-v2-app .scps-v2-login-links { text-align: center; font-size: 12px; margin-top: 6px; color: #7A6E77; }
  #scps-v2-app .scps-v2-login-links a { color: #A43C93; text-decoration: none; }
  #scps-v2-app .scps-v2-login-links a:hover { text-decoration: underline; }
  #scps-v2-app .scps-v2-login-sep { margin: 0 6px; color: #C7BEC5; }

  @media (max-width: 480px) {
    #scps-v2-app .scps-v2-login-dialog { padding: 22px 20px 18px; }
    #scps-v2-app .scps-v2-login-title { font-size: 18px; }
  }

  /* ════════════ 사이드바 퀵그리드 재구성 (로그인 숨김 + 오시는길 인라인 카드) ════════════ */
  /* 로그인/사용자 타일은 UI에서 숨김 — 마크업/JS 는 보존 */
  #scps-v2-app .scps-v2-login-tile,
  #scps-v2-app .scps-v2-user-tile,
  #scps-v2-app #scpsV2LogoutBtn { display: none !important; }

  /* WordPress admin bar (상단 회색 툴바) 완전 숨김 — 로그아웃 링크가 툴바 우측 사용자 메뉴에 있음 */
  #wpadminbar { display: none !important; }
  html.wp-toolbar { padding-top: 0 !important; }
  html { margin-top: 0 !important; }

  /* 좌우 2열: [내원 예약] [오시는 길 카드] — 같은 행에 나란히, 세로는 상호 stretch */
  #scps-v2-app .quick-grid {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 6px;
    align-items: stretch;
  }
  #scps-v2-app .quick-grid > * { min-width: 0; }

  /* ── 두 카드 세로 정렬 통일: 각 카드를 [상단 슬롯] / [하단 슬롯] 2행 grid 로 구성 ──
     · 상위 quick-grid 가 align-items: stretch 이므로 두 카드 세로 크기가 같고,
     · 각 카드 내부의 1fr / 1fr 이 정확히 같은 지점에서 나뉘어
       [캘린더 아이콘 ↔ 오시는 길 헤더] · [내원 예약 라벨 ↔ 4 지도 아이콘] 두 줄이 정렬됨. */

  /* 내원 예약: 아이콘(위) · 라벨(아래) */
  #scps-v2-app .quick-tile.quick-tile--appt {
    display: grid;
    grid-template-rows: 1fr 1fr;
    align-items: center;
    justify-items: center;
    padding: 8px 6px;
    line-height: 1.15;
    font-size: 12px;              /* ← 오시는 길 헤더와 통일 */
    font-weight: 600;
    text-align: center;
    height: 100%;
    gap: 0;
    box-sizing: border-box;
  }
  #scps-v2-app .quick-tile.quick-tile--appt .scps-appt-label { display: block; align-self: center; }
  #scps-v2-app .quick-tile.quick-tile--appt svg { width: 18px; height: 18px; margin: 0; align-self: center; }

  /* 오시는 길: 헤더(위) · 4아이콘 그리드(아래) — grid 로 내원 예약과 세로 위치 정렬
     ⚠ 원본 `.quick-grid .scps-nav-dropdown { display: flex }` 이기려면 selector 강화 필요 */
  #scps-v2-app .scps-nav-dropdown.scps-nav-dropdown--inline {
    display: grid;
    grid-template-rows: 1fr 1fr;
    align-items: center;
    position: static;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    padding: 8px 6px;
    box-sizing: border-box;
    transition: background .15s, border-color .15s;
  }
  #scps-v2-app .scps-nav-dropdown.scps-nav-dropdown--inline:hover {
    background: rgba(255,255,255,.055);
    border-color: rgba(174,92,160,.22);
  }
  /* 헤더 (오시는 길 라벨) — 상단 슬롯 세로 중앙 */
  #scps-v2-app .scps-map-card-head {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    padding: 0; margin: 0;
    align-self: center;
    color: #c0b4be; font-size: 12px; font-weight: 600; letter-spacing: -0.01em;
    line-height: 1.15;
  }
  #scps-v2-app .scps-map-card-head svg { width: 18px; height: 18px; stroke: #ae5ca0; }

  /* 4개 지도 아이콘 그리드 — 원본 dropdown 규칙은 :not(.scps-dropdown-menu--inline) 로 이미 예외 처리됨 */
  #scps-v2-app .scps-dropdown-menu--inline {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
    box-sizing: border-box;
    align-self: center;   /* 카드 하단 슬롯(1fr) 안에서 세로 중앙 */
  }
  /* 각 아이콘 셀 — 배경/테두리 없이 아이콘만 */
  #scps-v2-app .scps-dropdown-menu--inline .scps-dropdown-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 4px 0;
    background: transparent;
    border: 0;
    border-radius: 6px;
    text-decoration: none;
    box-sizing: border-box;
    transition: transform .15s, opacity .15s;
  }
  #scps-v2-app .scps-dropdown-menu--inline .scps-dropdown-item:hover {
    transform: translateY(-1px);
    opacity: .85;
  }
  /* 이미지: 셀 폭에 유동적으로 맞춤 (상한 24px) */
  #scps-v2-app .scps-dropdown-menu--inline .scps-map-ico {
    width: 100%; max-width: 24px; height: auto; aspect-ratio: 1 / 1;
    border-radius: 6px; object-fit: contain;
    display: block; margin: 0;
  }

  /* 모바일: 드로어 사이드바 폭에서도 2열 나란히 유지 */
  @media (max-width: 768px) {
    #scps-v2-app .quick-grid { grid-template-columns: 64px minmax(0, 1fr); gap: 8px; }
    #scps-v2-app .quick-tile.quick-tile--appt { padding: 14px 6px; font-size: 12.5px; }
    #scps-v2-app .quick-tile.quick-tile--appt svg { width: 20px; height: 20px; }        /* 모바일 통일 */
    #scps-v2-app .scps-nav-dropdown.scps-nav-dropdown--inline { padding: 10px 8px 8px; }
    #scps-v2-app .scps-dropdown-menu--inline { gap: 5px; }
    #scps-v2-app .scps-dropdown-menu--inline .scps-map-ico { max-width: 26px; }
    #scps-v2-app .scps-map-card-head { font-size: 12.5px; padding-bottom: 10px; }        /* 모바일 통일 */
    #scps-v2-app .scps-map-card-head svg { width: 20px; height: 20px; }                  /* 모바일 통일 */

    /* 모바일 사이드바 세로 공간 확보 (주변 마진/패딩 축소 + rs-duo 를 1단 가로 2열로) */
    #scps-v2-app .sidebar-logo { padding: 14px 14px 10px; }
    #scps-v2-app .sidebar-new-chat { margin: 6px 14px 8px; }
    #scps-v2-app .sidebar-science-link { margin: 0 14px 10px; }
    /* trust-card 상하 여백 축소 */
    #scps-v2-app .trust-card { margin: 8px 14px 2px; }
    #scps-v2-app .trust-slide { padding: 12px 12px 13px; }
    #scps-v2-app .rs-eyebrow { padding-bottom: 8px; margin-bottom: 10px; font-size: 11.5px; }
    #scps-v2-app .rs-herocap { margin-top: 10px; }
    #scps-v2-app .rs-herocap b { font-size: clamp(12.5px, 3.6vw, 14px); }
    #scps-v2-app .rs-herocap span { font-size: clamp(9.5px, 2.7vw, 10.5px); }

    /* 단일 이미지 슬라이드(시설·수상·특허)의 세로 크기 제한 — 작은 폰에서 하단 잘림 방지
       object-fit: contain 으로 이미지가 max-height 안에서 축소만 되고 크롭되지 않음 */
    #scps-v2-app .rs-heroimg { max-height: 180px; }
    #scps-v2-app .rs-heroimg img { max-height: 180px; height: auto; object-fit: contain; }
    #scps-v2-app .rs-heroimg--patent svg { max-height: 180px; }
    /* 특허 이미지: 세로로 길어 좌우 여백이 생기므로 폭을 이미지에 맞춰 가운데 정렬 */
    #scps-v2-app .rs-heroimg--patent { max-height: 120px; width: fit-content; margin-left: auto; margin-right: auto; background: none; }
    #scps-v2-app .rs-heroimg--patent img { max-height: 120px; width: auto; }

    /* ── 국제 학술 논문 슬라이드: 세로 2단 → 가로 2열 1단으로 압축 (iPhone 13 mini 같은 작은 폭도 대응) */
    #scps-v2-app .rs-duo {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      align-items: stretch;
    }
    #scps-v2-app .rs-duoitem { min-width: 0; gap: 5px; height: 100%; }
    /* 라벨 줄 수가 달라도 이미지/설명은 하단 기준으로 정렬 */
    #scps-v2-app .rs-duo .rs-diImg { margin-top: auto; }
    /* 라벨: 좁은 폭에서도 안 깨지도록 폰트/줄바꿈 정리 + 2열 높이 정렬 위해 2줄 높이 확보 */
    #scps-v2-app .rs-duo .rs-diLabel {
      font-size: clamp(10.5px, 3vw, 13px);
      gap: 4px;
      flex-wrap: wrap;
      line-height: 1.2;
      min-height: calc(2 * 1.2em);
      align-content: flex-start;
    }
    #scps-v2-app .rs-duo .rs-diLabel > span { min-width: 0; }
    #scps-v2-app .rs-duo .rs-diLabel .rs-hl { font-size: clamp(12px, 3.4vw, 15px); }
    #scps-v2-app .rs-duo .rs-diLabel .rs-tagen { font-size: clamp(8px, 2.4vw, 9.5px); }
    #scps-v2-app .rs-duo .rs-diSub { font-size: clamp(8.5px, 2.5vw, 10px); line-height: 1.25; }
    /* 이미지: 셀 폭에 유동적, 그림자/라운드 그대로 */
    #scps-v2-app .rs-duo .rs-diImg { width: 100%; }
    #scps-v2-app .rs-duo .rs-diImg img { width: 100%; height: auto; }
    /* 시설·국가 인증 슬라이드는 모바일에서도 세로 2행 유지 */
    #scps-v2-app .rs-duo.rs-duo--stack { display: flex; flex-direction: column; gap: 10px; }

    /* side-orn auto 마진 유지 → quick-grid 하단 고정 · trust-card 세로 변화 흡수 */
    #scps-v2-app .side-orn { margin: auto 24px; }
    #scps-v2-app .quick-grid { padding: 0 14px 8px; }
    #scps-v2-app .sidebar { overflow-y: auto; -webkit-overflow-scrolling: touch; }
  }

  /* iOS Safari 는 input/textarea 폰트가 16px 미만이면 포커스 시 자동으로 화면을 확대함.
     모바일에서만 16px 로 올려 확대 트리거를 회피 (데스크톱 UI 는 유지) */
  @media (max-width: 768px) {
    #scps-v2-app .chat-form textarea,
    #scps-v2-app .scps-appt-input,
    #scps-v2-app .scps-v2-login-label input { font-size: 16px; }

    /* fixed 마스크 접근 폐기 — 이중 여백 및 스크롤 방해 문제. iOS Safari 는 스크롤 시
       URL bar 를 자동 축소하므로 자연 스크롤을 살리는 방향으로 정리. safe-area 만 최소 반영. */
  }

  /* iPhone 13 mini(375px) 등 매우 좁은 화면: 롤링 카드 여백/폰트/이미지 세로 한 번 더 조임 */
  @media (max-width: 400px) {
    #scps-v2-app .trust-card { margin: 6px 12px 2px; }
    #scps-v2-app .trust-slide { padding: 10px 10px 12px; }
    #scps-v2-app .rs-eyebrow { padding-bottom: 7px; margin-bottom: 8px; font-size: 11px; }
    #scps-v2-app .rs-duo { gap: 6px; }
    #scps-v2-app .rs-duoitem { gap: 4px; }
    #scps-v2-app .rs-herocap { margin-top: 8px; }

    /* 단일 이미지 세로 한 번 더 조임 → 카드 하단이 quick-grid 에 안 걸치도록 */
    #scps-v2-app .rs-heroimg { max-height: 140px; }
    #scps-v2-app .rs-heroimg img { max-height: 140px; }
    #scps-v2-app .rs-heroimg--patent svg { max-height: 140px; }
    /* 특허증: iPhone 13 mini 등 매우 좁은 화면에서 높이 더 축소 */
    #scps-v2-app .rs-heroimg--patent { max-height: 100px; }
    #scps-v2-app .rs-heroimg--patent img { max-height: 100px; }
  }

  /* ════════════ 예약 신청 완료 팝업 (내원 예약 성공 시) — 시안 reservation_requested_popup.html 우측 카드 적용 ════════════ */
  #scps-v2-app .scps-v2-appt-result {
    position: fixed; inset: 0; z-index: 9500;
    display: flex; align-items: center; justify-content: center;
    padding: 24px;
  }
  #scps-v2-app .scps-v2-appt-result[hidden] { display: none; }
  #scps-v2-app .scps-v2-appt-result-backdrop {
    position: absolute; inset: 0;
    background: rgba(20,10,20,.55);
    -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  }
  #scps-v2-app .scps-v2-appt-result-dialog {
    position: relative; z-index: 1;
    width: 100%; max-width: 340px;
    background: #fff;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid #f0e6ee;
    box-shadow: 0 16px 48px rgba(122,62,151,.20);
    animation: scpsApptResultPop .2s ease-out;
  }
  @keyframes scpsApptResultPop { from { transform: translateY(8px) scale(.98); opacity: 0; } to { transform: none; opacity: 1; } }
  #scps-v2-app .scps-v2-appt-result-bar { height: 5px; background: linear-gradient(135deg, #C13C93 0%, #7A3E97 100%); }
  #scps-v2-app .scps-v2-appt-result-body { padding: 26px 22px 22px; }

  #scps-v2-app .scps-v2-appt-result-check {
    width: 56px; height: 56px; border-radius: 50%;
    background: linear-gradient(135deg, #C13C93 0%, #7A3E97 100%);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 13px;
    box-shadow: 0 6px 16px rgba(164,60,147,.34);
  }
  #scps-v2-app .scps-v2-appt-result-title {
    text-align: center; font-size: 18px; font-weight: 800;
    letter-spacing: -0.4px; margin: 0; color: #2a2530;
  }

  /* stepper */
  #scps-v2-app .scps-v2-appt-result-steps {
    display: flex; align-items: center; justify-content: space-between;
    margin: 22px 4px 4px;
  }
  #scps-v2-app .scps-v2-appt-result-steps .ar-step {
    display: flex; flex-direction: column; align-items: center;
    flex: 0 0 auto; width: 54px;
  }
  #scps-v2-app .scps-v2-appt-result-steps .ar-dot {
    width: 24px; height: 24px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
  }
  #scps-v2-app .scps-v2-appt-result-steps .ar-dot--done { background: linear-gradient(135deg, #C13C93 0%, #7A3E97 100%); }
  #scps-v2-app .scps-v2-appt-result-steps .ar-dot--now {
    background: #fff; border: 2px solid #C13C93; position: relative;
  }
  #scps-v2-app .scps-v2-appt-result-steps .ar-dot--now i {
    width: 9px; height: 9px; border-radius: 50%; background: #C13C93; display: block;
  }
  #scps-v2-app .scps-v2-appt-result-steps .ar-dot--now::after {
    content: ""; position: absolute; inset: -5px; border-radius: 50%;
    border: 2px solid rgba(193,60,147,.22);
  }
  #scps-v2-app .scps-v2-appt-result-steps .ar-dot--wait { background: #fff; border: 2px solid #d9cdd6; }
  #scps-v2-app .scps-v2-appt-result-steps .ar-step span {
    margin-top: 7px; font-size: 10.5px; font-weight: 700;
  }
  #scps-v2-app .scps-v2-appt-result-steps .ar-step--done span,
  #scps-v2-app .scps-v2-appt-result-steps .ar-step--now span { color: #A43C93; }
  #scps-v2-app .scps-v2-appt-result-steps .ar-step--wait span { color: #b7abb4; font-weight: 600; }
  #scps-v2-app .scps-v2-appt-result-steps .ar-bar {
    flex: 1; height: 2px; margin: 0 2px 21px;
    background: #e5dce3; border-radius: 2px;
  }
  #scps-v2-app .scps-v2-appt-result-steps .ar-bar--on {
    background: linear-gradient(135deg, #C13C93 0%, #7A3E97 100%);
  }

  /* info */
  #scps-v2-app .scps-v2-appt-result-info {
    background: #f9f2f8; border-radius: 16px;
    padding: 16px 18px; margin-top: 20px;
  }
  #scps-v2-app .scps-v2-appt-result-info .ar-row {
    display: flex; justify-content: space-between; align-items: center;
    padding: 1px 0;
  }
  #scps-v2-app .scps-v2-appt-result-info .ar-k { font-size: 12px; color: #9a8f97; }
  #scps-v2-app .scps-v2-appt-result-info .ar-v { font-size: 13px; font-weight: 700; color: #333; text-align: right; max-width: 62%; word-break: keep-all; }
  #scps-v2-app .scps-v2-appt-result-info .ar-v em { font-style: normal; color: #A43C93; }
  #scps-v2-app .scps-v2-appt-result-info .ar-sep { height: 1px; background: #efe1ec; margin: 10px 0; }

  #scps-v2-app .scps-v2-appt-result-note {
    margin: 22px 2px 0; font-size: 11.5px; color: #9a9aa0;
    line-height: 1.6; text-align: center;
  }
  #scps-v2-app .scps-v2-appt-result-btn {
    display: block; width: 100%; margin-top: 16px;
    padding: 12px 14px; border: 0; border-radius: 12px; cursor: pointer;
    font-family: inherit; font-size: 14px; font-weight: 700;
    color: #fff; background: linear-gradient(135deg, #C13C93 0%, #7A3E97 100%);
    box-shadow: 0 10px 22px -12px rgba(164,60,147,.55);
    transition: filter .15s, transform .12s;
  }
  #scps-v2-app .scps-v2-appt-result-btn:hover { filter: brightness(1.05); }
  #scps-v2-app .scps-v2-appt-result-btn:active { transform: translateY(1px); }

  @media (max-width: 480px) {
    #scps-v2-app .scps-v2-appt-result { padding: 16px; }
    #scps-v2-app .scps-v2-appt-result-body { padding: 22px 18px 18px; }
    #scps-v2-app .scps-v2-appt-result-title { font-size: 17px; }
  }

  /* ════════════ 챗봇 답변 안 예약완료 인라인 카드 — 시안 좌측 챗봇 대화 카드 디자인 ════════════ */
  #scps-v2-app .scps-appt-inline-card {
    width: 100%;
    max-width: 320px;
    margin: 12px 0 4px 44px;    /* 아바타 폭만큼 들여쓰기 (기존 CTA 와 동일 정렬) */
    background: #fff;
    border: 1px solid #f0e6ee;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(122,62,151,.12);
  }
  #scps-v2-app .scps-appt-inline-bar {
    height: 5px; background: linear-gradient(135deg, #C13C93 0%, #7A3E97 100%);
  }
  #scps-v2-app .scps-appt-inline-body { padding: 22px 20px 20px; }
  #scps-v2-app .scps-appt-inline-check {
    width: 52px; height: 52px; border-radius: 50%;
    background: linear-gradient(135deg, #C13C93 0%, #7A3E97 100%);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 12px;
    box-shadow: 0 6px 16px rgba(164,60,147,.32);
  }
  #scps-v2-app .scps-appt-inline-title {
    text-align: center; font-size: 16.5px; font-weight: 800;
    letter-spacing: -0.4px; margin: 0; color: #2a2530;
  }
  /* stepper (팝업과 동일 스타일 · 살짝 컴팩트) */
  #scps-v2-app .scps-appt-inline-steps {
    display: flex; align-items: center; justify-content: space-between;
    margin: 18px 2px 2px;
  }
  #scps-v2-app .scps-appt-inline-steps .ar-step { display: flex; flex-direction: column; align-items: center; flex: 0 0 auto; width: 50px; }
  #scps-v2-app .scps-appt-inline-steps .ar-dot { width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
  #scps-v2-app .scps-appt-inline-steps .ar-dot--done { background: linear-gradient(135deg, #C13C93 0%, #7A3E97 100%); }
  #scps-v2-app .scps-appt-inline-steps .ar-dot--now { background: #fff; border: 2px solid #C13C93; position: relative; }
  #scps-v2-app .scps-appt-inline-steps .ar-dot--now i { width: 8px; height: 8px; border-radius: 50%; background: #C13C93; display: block; }
  #scps-v2-app .scps-appt-inline-steps .ar-dot--now::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 2px solid rgba(193,60,147,.22); }
  #scps-v2-app .scps-appt-inline-steps .ar-dot--wait { background: #fff; border: 2px solid #d9cdd6; }
  #scps-v2-app .scps-appt-inline-steps .ar-step span { margin-top: 6px; font-size: 10px; font-weight: 700; }
  #scps-v2-app .scps-appt-inline-steps .ar-step--done span,
  #scps-v2-app .scps-appt-inline-steps .ar-step--now span { color: #A43C93; }
  #scps-v2-app .scps-appt-inline-steps .ar-step--wait span { color: #b7abb4; font-weight: 600; }
  #scps-v2-app .scps-appt-inline-steps .ar-bar { flex: 1; height: 2px; margin: 0 2px 20px; background: #e5dce3; border-radius: 2px; }
  #scps-v2-app .scps-appt-inline-steps .ar-bar--on { background: linear-gradient(135deg, #C13C93 0%, #7A3E97 100%); }

  /* info */
  #scps-v2-app .scps-appt-inline-info {
    background: #f9f2f8; border-radius: 14px;
    padding: 14px 16px; margin-top: 16px;
  }
  #scps-v2-app .scps-appt-inline-info .ar-row {
    display: flex; justify-content: space-between; align-items: center; padding: 1px 0;
  }
  #scps-v2-app .scps-appt-inline-info .ar-k { font-size: 11.5px; color: #9a8f97; }
  #scps-v2-app .scps-appt-inline-info .ar-v { font-size: 12.5px; font-weight: 700; color: #333; text-align: right; max-width: 62%; word-break: keep-all; }
  #scps-v2-app .scps-appt-inline-info .ar-v em { font-style: normal; color: #A43C93; }
  #scps-v2-app .scps-appt-inline-info .ar-sep { height: 1px; background: #efe1ec; margin: 8px 0; }

  #scps-v2-app .scps-appt-inline-note {
    margin: 16px 2px 0 !important; font-size: 11px; color: #9a9aa0;
    line-height: 1.6; text-align: center;
  }

  /* ════════════ 전후사진(Before/After) 블록 ════════════ */
  #scps-v2-app .scps-ba-wrap {
    margin-top: 12px; margin-left: 42px; width: calc(100% - 42px);
    display: flex; flex-direction: column; gap: 16px;
    border: 1.5px solid #E8DDE6; border-radius: 14px; padding: 16px;
    background: #fefcfe;
  }
  #scps-v2-app .scps-ba-lead {
    margin: 0 !important;
    padding: 10px 14px !important;
    font-size: 13px; color: #3A2E38; line-height: 1.65; word-break: keep-all;
    background: #fdf4fb; border-radius: 8px;
    border-left: 3px solid #D47EC4;
  }
  #scps-v2-app .scps-ba-case { display: flex; flex-direction: column; gap: 10px; }
  #scps-v2-app .scps-ba-case-label {
    margin: 0 !important;
    font-size: 12px; font-weight: 700; color: #A43C93; letter-spacing: .01em;
  }
  #scps-v2-app .scps-ba-pair {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
  }
  /* 카드: 사진 프레임 + 캡션 */
  #scps-v2-app .scps-ba-img {
    display: flex; flex-direction: column;
    border: 1.5px solid #E8DDE6; border-radius: 10px; overflow: hidden;
    background: #fff;
  }
  /* 사진 영역: 뱃지 오버레이를 위해 relative */
  #scps-v2-app .scps-ba-photo-frame {
    position: relative; flex: 1; cursor: zoom-in;
  }
  #scps-v2-app .scps-ba-photo {
    width: 100%; height: auto; display: block; object-fit: cover;
    min-height: 80px; background: #e8e0e8;
  }
  #scps-v2-app .scps-ba-img--err .scps-ba-photo { display: none; }
  /* BEFORE / AFTER 뱃지 */
  #scps-v2-app .scps-ba-badge {
    position: absolute; top: 8px; left: 8px;
    font-size: 10px; font-weight: 800; letter-spacing: .07em;
    color: #fff;
    background: rgba(30, 20, 28, .62);
    backdrop-filter: blur(3px);
    border-radius: 4px;
    padding: 3px 7px;
    line-height: 1.4;
    pointer-events: none;
  }
  /* 캡션: 사진 아래 */
  #scps-v2-app .scps-ba-caption {
    text-align: center;
    font-size: 12px; font-weight: 500; color: #6A5E68;
    padding: 7px 4px 8px;
    background: #faf7fa;
    border-top: 1px solid #EDE5EC;
  }
  #scps-v2-app .scps-ba-note {
    display: flex; align-items: flex-start; gap: 6px;
    margin: 0 !important;
    padding: 9px 12px !important;
    font-size: 12px; color: #8F4A82; line-height: 1.6; word-break: keep-all;
    background: #FBF3F9; border-radius: 10px;
    border: 1px solid #F0DCEC;
  }
  #scps-v2-app .scps-ba-note-pin { flex-shrink: 0; font-size: 13px; line-height: 1.6; }
  #scps-v2-app .scps-ba-note-text { flex: 1; }

  /* ════════ 전후사진 갤러리 모달 ════════ */
  #scps-v2-app .scps-ba-modal-overlay {
    position: fixed; inset: 0; z-index: 99999;
    background: rgba(0,0,0,.55);
    display: flex; align-items: center; justify-content: center;
    padding: 16px;
    opacity: 0; transition: opacity .2s ease;
    pointer-events: none;
  }
  #scps-v2-app .scps-ba-modal-overlay--open {
    opacity: 1; pointer-events: auto;
  }
  #scps-v2-app .scps-ba-modal {
    background: #fff; border-radius: 20px;
    width: 100%; max-width: 700px; max-height: 90vh;
    display: flex; flex-direction: column; overflow: hidden;
    box-shadow: 0 24px 64px rgba(0,0,0,.28);
    transform: translateY(20px); transition: transform .22s ease;
  }
  #scps-v2-app .scps-ba-modal-overlay--open .scps-ba-modal { transform: translateY(0); }
  #scps-v2-app .scps-ba-modal-hdr {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 20px; border-bottom: 1px solid #F0EAF0; flex-shrink: 0;
  }
  #scps-v2-app .scps-ba-modal-hdr-left { display: flex; align-items: center; gap: 10px; }
  #scps-v2-app .scps-ba-modal-icon {
    width: 36px; height: 36px; border-radius: 10px; flex-shrink: 0;
    background: linear-gradient(135deg, #A43C93 0%, #C84163 100%);
    display: flex; align-items: center; justify-content: center; color: #fff;
  }
  #scps-v2-app .scps-ba-modal-title {
    font-size: 16px; font-weight: 700; color: #1A1320;
  }
  #scps-v2-app .scps-ba-modal-close {
    width: 32px; height: 32px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: #F5F1F5; border: none; border-radius: 50%;
    cursor: pointer; color: #5A4E58; transition: background .15s;
  }
  #scps-v2-app .scps-ba-modal-close:hover { background: #EAE3EA; }
  #scps-v2-app .scps-ba-modal-body {
    overflow-y: auto; padding: 20px;
    display: flex; flex-direction: column; gap: 20px;
    flex: 1; min-height: 0; max-height: calc(90vh - 62px);
  }
  #scps-v2-app .scps-ba-modal-body .scps-ba-photo-frame { cursor: default; }
  #scps-v2-app .scps-ba-modal-note {
    display: flex; align-items: flex-start; gap: 6px;
    margin: 0 !important; padding: 9px 12px !important;
    font-size: 12px; color: #8F4A82; line-height: 1.6; word-break: keep-all;
    background: #FBF3F9; border-radius: 10px; border: 1px solid #F0DCEC;
  }
  #scps-v2-app .scps-ba-modal-case { display: flex; flex-direction: column; gap: 10px; }
  #scps-v2-app .scps-ba-modal-case-label {
    margin: 0 !important; padding: 0 0 0 10px !important;
    font-size: 13px; font-weight: 700; color: #3A2E38;
    border-left: 3px solid #A43C93;
  }

  /* login_gate */
  #scps-v2-app .scps-ba-login-gate {
    margin-top: 14px; margin-left: 42px;
    display: flex; flex-direction: column; gap: 10px;
  }
  #scps-v2-app .scps-ba-gate-lead {
    margin: 0 !important;
    font-size: 13px; color: #3A2E38; line-height: 1.65; word-break: keep-all;
  }
  #scps-v2-app .scps-ba-gate-btn {
    align-self: flex-start;
    display: inline-flex; align-items: center; gap: 6px;
    font-family: inherit; font-size: 13px; font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, #A43C93 0%, #C84163 100%);
    border: none; border-radius: 100px;
    padding: 9px 20px; cursor: pointer;
    transition: opacity .15s, transform .1s;
  }
  #scps-v2-app .scps-ba-gate-btn:hover { opacity: .9; }
  #scps-v2-app .scps-ba-gate-btn:active { transform: translateY(1px); }

  /* 반응형: ≤480px 사진 쌍 2열 유지 */
  @media (max-width: 480px) {
    #scps-v2-app .scps-ba-pair { grid-template-columns: 1fr 1fr; gap: 6px; }
  }

  @media (max-width: 768px) {
    #scps-v2-app .scps-appt-inline-card { max-width: 100%; margin-left: 0; margin-right: 0; }
    #scps-v2-app .scps-appt-inline-body { padding: 20px 18px 18px; }
    #scps-v2-app .scps-appt-inline-title { font-size: 15.5px; }
  }
