/* AI Talk character stage + shared text/voice log, adapted for 운명상회. */
@media(max-width:767px){.consultation-stage .consultation-waiting{position:fixed;inset:0;z-index:100;padding:24px;background:#090907d9}}
.consultation-page{--consult-ink:#090907;--consult-surface:#151512;--consult-gold:#d9b868;--consult-text:#f6f0e2;--consult-muted:#b7aa8d;--consult-error:#e69a8d;margin:0;background:var(--consult-ink);color:var(--consult-text);font-family:"Pretendard","Noto Sans KR",system-ui,sans-serif;line-height:1.6;color-scheme:dark}
.consultation-page *{box-sizing:border-box}.consultation-page a{color:inherit;text-decoration:none}.consultation-page button,.consultation-page textarea{font:inherit}.consultation-page button{cursor:pointer}.consultation-page button:disabled{opacity:.45;cursor:not-allowed}.consultation-page [hidden],.consultation-rail [hidden],#consultation-vault[hidden]{display:none!important}
.consultation-page :focus-visible,.consultation-rail :focus-visible,#consultation-vault :focus-visible{outline:2px solid #d9b868;outline-offset:4px}
.consultation-skip{position:absolute;top:-100px;left:20px;z-index:200;padding:12px;background:#151512}.consultation-skip:focus{top:10px}
.consultation-header{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:22px 32px;border-bottom:1px solid #d9b86830;font-size:14px}.consultation-header>a:first-child{font-family:serif;letter-spacing:2px;font-size:21px;color:var(--consult-gold)}.consultation-header span{font-family:system-ui,sans-serif;font-size:12px;letter-spacing:0;margin-left:8px}.consultation-header a{min-height:44px;display:flex;align-items:center}
.consultation-shell{max-width:1280px;margin:auto;display:grid;grid-template-columns:minmax(290px,.88fr) minmax(0,1.12fr);min-height:calc(100svh - var(--umsh-chrome-appbar-h,120px))}
.consultation-stage{position:relative;min-height:720px;isolation:isolate;overflow:hidden;background:#16110c}.consultation-character{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 27%;z-index:-2}.consultation-stage:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#090907 2%,#090907c9 20%,transparent 60%)}
.consultation-stage-copy{position:absolute;bottom:50px;left:38px;right:28px}.consultation-eyebrow{font-size:11px;color:var(--consult-gold);letter-spacing:1.8px}.consultation-stage h1{font-family:"Noto Serif KR",Georgia,serif;font-weight:500;font-size:49px;letter-spacing:-2px;margin:9px 0 14px}.consultation-stage p{font-size:17px;line-height:1.85;margin:0 0 22px;color:#e8ddc7;white-space:pre-line}.consultation-state{display:inline-flex;padding:7px 11px;border:1px solid #d9b86860;border-radius:3px;background:#09090799;color:var(--consult-gold);font-size:12px}
.consultation-room{display:flex;flex-direction:column;padding:32px;min-width:0;max-height:1000px}.consultation-room-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.consultation-room h2{font-size:23px;line-height:1.5;font-weight:500;margin:7px 0 0;letter-spacing:-.8px}.consultation-profile{color:var(--consult-muted);font-size:11px;white-space:nowrap}.consultation-gate{padding:16px;margin:20px 0 0;border:1px solid #d9b86840;background:var(--consult-surface);font-size:14px;color:var(--consult-muted)}.consultation-gate strong{display:block;color:var(--consult-text);margin-bottom:4px}.consultation-gate p{margin:4px 0 12px}.consultation-gate a,.consultation-gate button{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--consult-gold);color:var(--consult-gold);background:transparent;border-radius:4px}
.consultation-log{flex:1;min-height:230px;max-height:480px;overflow:auto;overscroll-behavior:contain;padding:25px 0;scrollbar-color:#685936 #151512}.consultation-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;text-align:center}.consultation-empty>span{font-family:serif;font-size:30px;letter-spacing:12px;color:#d9b8688f}.consultation-empty p{font-size:19px;line-height:1.8;margin:18px 0 8px}.consultation-empty small{color:var(--consult-muted)}
.consultation-row{display:flex;gap:10px;margin:0 0 22px;align-items:flex-start}.consultation-row.me{justify-content:flex-end}.consultation-thumb{width:31px;height:38px;object-fit:cover;object-position:50% 24%;border-radius:4px}.consultation-bubble{max-width:89%;padding:13px 16px;background:#191914;border:1px solid #d9b8681f;border-radius:2px 12px 12px 12px;font-size:14px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.consultation-row.me .consultation-bubble{background:#29251a;border-color:#d9b86835;border-radius:12px 2px 12px 12px}
.consultation-notice{font-size:11px;line-height:1.7;color:var(--consult-muted);padding-top:15px;border-top:1px solid #d9b86825;margin:0}.consultation-status{font-size:12px;min-height:21px;margin:8px 0;color:var(--consult-gold)}.consultation-status.is-error{color:var(--consult-error)}.consultation-composer{border:1px solid #d9b86860;border-radius:9px;padding:12px;background:var(--consult-surface)}.consultation-input-label{font-size:11px;color:var(--consult-muted)}.consultation-composer textarea{width:100%;display:block;resize:vertical;min-height:60px;max-height:200px;border:0;outline-offset:2px;background:transparent;color:var(--consult-text);padding:7px 0;font-size:14px}.consultation-composer textarea::placeholder{color:#a59a83}.consultation-actions{display:flex;justify-content:space-between;gap:8px}.consultation-actions button{min-height:44px;border-radius:5px;padding:8px 15px;font-size:13px;font-weight:600}.consultation-secondary{background:transparent;border:1px solid #d9b86850;color:var(--consult-gold)}.consultation-primary{background:var(--consult-gold);border:1px solid var(--consult-gold);color:#151512}.consultation-actions button:hover:not(:disabled){filter:brightness(1.12)}.consultation-secondary[aria-pressed=true]{background:#692d25;color:#fff1e9;border-color:#e69a8d}.consultation-bottom{display:flex;gap:10px;justify-content:space-between;padding-top:14px;font-size:10px;color:var(--consult-muted)}.consultation-bottom a{min-height:30px;white-space:nowrap;text-decoration:underline}.consultation-room audio{width:100%;height:38px;margin:0 0 12px}
/* Home: scoped so the existing weekly card and unrelated portal edits survive. */
/* Both slides share one grid cell, so hidden slides reserve the same height. */
.consultation-rail{position:relative;container-type:inline-size}
.consultation-rail-slides{display:grid;position:relative;overflow:hidden;border-radius:18px;touch-action:pan-y}
/* 배너는 옆으로 끌어서 넘긴다(consultation-rail.js) */
@media (hover:hover){.consultation-rail-slides{cursor:grab}}
.consultation-rail-slides.is-dragging{cursor:grabbing;user-select:none;-webkit-user-select:none}
.consultation-rail-slides img{-webkit-user-drag:none;user-select:none}
.consultation-rail-slides>[data-rail-slide]{grid-area:1/1;display:grid;grid-template-rows:1fr auto;min-width:0;border:1px solid #695630;border-radius:18px;overflow:hidden;background:#14130f;color:#f6f0e2;text-decoration:none}
.consultation-rail-slides>[data-rail-slide][hidden]{display:grid!important;visibility:hidden;pointer-events:none}
.consultation-rail-slides>.weekly-free-card>img{width:100%;height:100%;min-height:0;aspect-ratio:1200/630;object-fit:contain}
.consultation-rail .weekly-free-caption{min-height:64px;box-sizing:border-box;min-width:0;padding:12px 14px;gap:8px;align-items:center}
.consultation-rail .weekly-free-caption strong{font-size:14px;line-height:1.4}
.consultation-rail .weekly-free-caption>span{font-size:11px}
.consultation-promo-visual{position:relative;min-height:calc((100cqw - 2px)*.525);min-width:0;display:grid;align-items:center;isolation:isolate}
.consultation-promo-visual>img{position:absolute;right:0;top:0;width:62%;height:100%;object-fit:cover;object-position:66% 30%;z-index:-2}
.consultation-promo-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090907 16%,#090907d9 39%,transparent 80%);z-index:-1}
.consultation-promo-copy{box-sizing:border-box;position:relative;width:67%;padding:16px 0 16px 18px;overflow-wrap:anywhere}
.consultation-promo-copy small{display:block;font-size:10px;letter-spacing:.5px;line-height:1.4;color:#d9b868}
.consultation-promo-copy strong{display:block;margin:7px 0;font-family:serif;font-size:clamp(18px,5.5cqw,24px);line-height:1.3;color:#f6f0e2;white-space:normal;word-break:keep-all}
.consultation-promo-copy p{font-size:clamp(11px,3cqw,13px);line-height:1.55;color:#dacdb3;margin:0;white-space:pre-line;word-break:keep-all}
.consultation-rail-controls{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:9px}.consultation-rail-controls [data-rail-position]{white-space:nowrap}.consultation-rail-controls button{min-height:44px;min-width:44px;border:0;border-radius:5px;background:transparent;color:#d9b868;cursor:pointer;font:inherit}.consultation-rail-controls [data-slide-to]{min-width:30px;font-size:0}.consultation-rail-controls [data-slide-to]:before{content:"";display:block;width:7px;height:7px;border-radius:50%;margin:auto;background:#827657}.consultation-rail-controls [aria-current=true]:before{background:#d9b868;width:20px;border-radius:6px}.consultation-rail-controls button:hover{background:#d9b86818}.consultation-rail-controls [data-rail-pause]{font-size:11px;min-width:64px}
.consultation-vault-card{display:block;color:inherit;text-decoration:none;padding:22px;margin:12px 0;border:1px solid #d9b86845;border-radius:12px;background:#191712}.consultation-vault-card strong{display:block;color:#e2b87b;font-size:18px}.consultation-vault-card p{color:#c7bdad;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.consultation-vault-card small{color:#b7aa8d}.consultation-vault-card:hover{border-color:#d9b868}.consultation-vault-state{padding:28px 18px;color:#d1c2aa;line-height:1.8}.consultation-vault-state a,.consultation-vault-state button{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;color:#e2b87b;border:1px solid #d9b86860;background:transparent;border-radius:5px;text-decoration:none;font:inherit;cursor:pointer}
@media(max-width:767px){.consultation-header{padding:12px 20px}.consultation-shell{display:block}.consultation-stage{min-height:340px;height:42svh;max-height:430px}.consultation-character{object-position:50% 28%}.consultation-stage:after{background:linear-gradient(0deg,#090907 0%,#090907b3 23%,transparent 72%)}.consultation-stage-copy{left:24px;bottom:20px}.consultation-stage h1{font-size:37px;margin:5px 0 7px}.consultation-stage p{font-size:13px;line-height:1.6;margin-bottom:12px;max-width:210px}.consultation-eyebrow{font-size:10px}.consultation-state{font-size:10px;padding:4px 9px}.consultation-room{padding:19px 20px 24px;max-height:none}.consultation-room h2{font-size:20px}.consultation-room-heading{gap:8px}.consultation-profile{font-size:10px}.consultation-log{max-height:52svh;min-height:220px}.consultation-empty{min-height:220px}.consultation-bottom{font-size:10px}}
.consultation-stage p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}.consultation-stage h1{overflow-wrap:anywhere;font-size:clamp(30px,4vw,49px)}
@media(prefers-reduced-motion:reduce){.consultation-page *,.consultation-rail *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.consultation-access{margin:14px 0 0;padding:9px 12px;border-left:2px solid var(--consult-gold);background:#d9b8680c;color:var(--consult-gold);font-size:12px}.consultation-charge-note{font-size:11px;line-height:1.7;color:var(--consult-muted);margin:8px 0}.consultation-paywall{width:min(440px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow:auto;padding:28px;border:1px solid #d9b86870;border-radius:12px;background:var(--consult-surface);color:var(--consult-text)}.consultation-paywall::backdrop{background:#000b}.consultation-paywall h2{font-size:23px;font-weight:500;line-height:1.5;margin:12px 0}.consultation-paywall>p{overflow-wrap:anywhere}.consultation-paywall #consultation-paywall-copy{font-size:14px;color:var(--consult-muted)}.consultation-pack-price{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-top:1px solid #d9b86830;border-bottom:1px solid #d9b86830}.consultation-pack-price strong{font-size:27px;color:var(--consult-gold)}.consultation-paywall-actions{display:grid;gap:10px;margin-top:23px}.consultation-paywall-actions button{min-height:48px;padding:10px 16px;border-radius:5px}.consultation-paywall-actions button:hover:not(:disabled){filter:brightness(1.12)}
.consultation-waiting{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:24px;background:#090907a8;backdrop-filter:blur(3px)}.consultation-waiting-card{width:100%;max-width:330px;padding:24px;border:1px solid #d9b86855;background:#151512ed;text-align:center;border-radius:9px}.consultation-waiting-card #consultation-waiting-copy{font-size:17px;line-height:1.8;display:block;margin:0 0 22px;color:var(--consult-text)}.consultation-waiting-gauge{height:5px;background:#d9b86820;overflow:hidden;border-radius:8px}.consultation-waiting-gauge span{display:block;width:36%;height:100%;background:var(--consult-gold);animation:consultation-wait 1.6s ease-in-out infinite alternate}.consultation-waiting-card .consultation-waiting-detail{font-size:12px;line-height:1.7;display:block;color:var(--consult-muted);margin:14px 0 0}@keyframes consultation-wait{from{transform:translateX(-100%)}to{transform:translateX(280%)}}@media(prefers-reduced-motion:reduce){.consultation-waiting-gauge span{animation:none;width:100%;opacity:.65}}

/* Common UMSH navigation owns the logo, categories and fixed bottom menus. */
.consultation-layout{max-width:1280px;margin:0 auto}
.consultation-page{padding-bottom:calc(max(74px,var(--umsh-chrome-bottom-h,74px)) + env(safe-area-inset-bottom,0px));scroll-padding-bottom:100px}
.consultation-composer{scroll-margin-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
.consultation-footer{max-width:1280px;margin:0 auto;padding:32px;border-top:1px solid #d9b86830;color:var(--consult-muted);font-size:12px;line-height:1.9;overflow-wrap:anywhere}
.consultation-footer .footer-links{display:flex;flex-wrap:wrap;gap:4px 20px;margin-bottom:16px}
.consultation-footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.consultation-footer .footer-company p{margin:5px 0}.consultation-footer strong{color:var(--consult-text);font-weight:500}.consultation-footer .footer-contact{display:flex;flex-wrap:wrap;gap:4px 20px}
@media(max-width:767px){.consultation-footer{padding:24px 20px}.consultation-stage:has(.consultation-waiting:not([hidden])){z-index:110;overflow:visible}}

/* Desktop workspace: keep the composer above navigation; scroll the transcript. */
@media(min-width:768px){
  .consultation-page{box-sizing:border-box;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
  .consultation-layout{width:100%;flex:1;min-height:0;display:flex;flex-direction:column}
  .consultation-layout>.umsh-service-shell{flex-shrink:0}
  .consultation-shell{width:100%;flex:1;min-height:0;overflow:hidden}
  .consultation-stage{min-height:0}
  .consultation-stage-copy{bottom:24px;left:28px}
  .consultation-stage h1{font-size:38px;margin:5px 0 10px}
  .consultation-stage p{font-size:14px;line-height:1.6;margin-bottom:12px}
  .consultation-room{min-height:0;max-height:none;padding:16px 24px;overflow:auto}
  .consultation-room>*{flex-shrink:0}
  .consultation-room-heading{flex-wrap:wrap;gap:4px 12px}
  .consultation-room h2{font-size:21px;margin-top:2px}
  .consultation-log{flex:1 1 auto;min-height:64px;max-height:none;padding:12px 0}
  .consultation-empty{min-height:100%;justify-content:center}
  .consultation-empty>span{font-size:22px}
  .consultation-empty p{font-size:16px;margin:6px 0;line-height:1.5}
  .consultation-gate{margin-top:8px;padding:10px}
  .consultation-room:has(.consultation-gate:not([hidden])) .consultation-log:has(.consultation-empty:not([hidden])){display:none}
  .consultation-notice{padding-top:8px;font-size:10px}
  .consultation-charge-note,.consultation-access{margin:4px 0}
  .consultation-status{margin:4px 0;min-height:0}
  .consultation-status:empty{display:none}
  .consultation-composer{padding:8px 12px;scroll-margin:0}
  .consultation-composer textarea{resize:none;min-height:48px;max-height:80px}
  .consultation-bottom{padding-top:4px}
  .consultation-bottom a{min-height:24px}
  .consultation-footer{width:100%;flex-shrink:0;padding:6px 24px;font-size:10px;line-height:1.5;max-height:96px;overflow:auto}
  .consultation-footer .footer-links{gap:4px 14px;margin-bottom:2px}
  .consultation-footer a{min-height:24px}
  .consultation-footer .footer-company{display:flex;flex-wrap:wrap;gap:0 14px}
  .consultation-footer .footer-company p{margin:0}
  .consultation-footer .footer-contact{gap:4px 14px}
}

/* Portrait entrance uses a real button: tap/Enter opens chat, never the microphone. */
.consultation-enter{display:none}
.consultation-entry-guide{font-size:11px;line-height:1.6;color:var(--consult-gold);margin:6px 0;padding:8px 10px;border-left:2px solid var(--consult-gold);background:#d9b86808}
@media(max-width:767px){
 .consultation-intro{height:100dvh;overflow:hidden;padding-bottom:0!important}
 .consultation-intro .consultation-layout{display:flex;flex-direction:column;height:calc(100dvh - var(--umsh-chrome-bottom-h,74px));min-height:0}
 .consultation-intro .umsh-service-shell{flex-shrink:0}
 .consultation-intro .consultation-shell{flex:1;min-height:0;height:auto;width:100%;margin:0}
 .consultation-intro .consultation-stage{height:100%;min-height:0;max-height:none}
 .consultation-intro .consultation-character{object-position:50% 24%}
 .consultation-intro .consultation-stage-copy,.consultation-intro .consultation-room,.consultation-intro .consultation-footer{display:none!important}
 .consultation-intro .consultation-enter{display:block;position:absolute;inset:0;z-index:2;width:100%;height:100%;border:0;background:transparent}
 .consultation-intro .consultation-enter:focus-visible{outline:3px solid #d9b868;outline-offset:-6px}
 .consultation-page:not(.consultation-intro) .consultation-stage{height:26svh;min-height:180px;max-height:260px}
 .consultation-page:not(.consultation-intro) .consultation-stage-copy{bottom:12px}
 .consultation-page:not(.consultation-intro) .consultation-stage-copy p{display:none}
}

/* Keep the opening greeting readable beside the PC composer at 720px height. */
@media(min-width:768px){
 .consultation-room{padding:12px 24px}
 .consultation-room-heading .consultation-eyebrow{display:none}
 .consultation-access{padding:6px 10px}
 .consultation-log{min-height:112px;padding:8px 0}
 .consultation-empty{min-height:0}
 .consultation-empty>span{display:none}
 .consultation-empty p{font-size:15px;line-height:1.5;margin:4px 0}
 .consultation-empty small{font-size:11px;line-height:1.5}
 .consultation-entry-guide{font-size:10px;line-height:1.6;padding:4px 8px;margin:4px 0}
 .consultation-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;position:relative}
 .consultation-input-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .consultation-composer textarea{height:48px;min-height:48px;max-height:48px}
 .consultation-actions{align-items:center}
}


/* Shared navigation surrounds the two consultation scenes. */
.consultation-modes{display:flex;justify-content:center;align-items:center;gap:16px;flex-shrink:0;min-height:48px;border-bottom:1px solid #d9b86826;background:#090907;color:#8e8267}
.consultation-modes button{min-width:88px;min-height:44px;border:0;background:none;color:#a99c7b;font-size:15px}
.consultation-modes button[aria-pressed=true]{color:#f4d989;font-weight:700;box-shadow:inset 0 -2px #d9b868}
.consultation-page[data-consultation-mode=chat] .consultation-stage{display:none}
.consultation-page[data-consultation-mode=chat] .consultation-shell{grid-template-columns:minmax(0,1fr)}
.consultation-page[data-consultation-mode=chat] .consultation-room{width:100%;max-width:960px;margin:0 auto}
.consultation-room{position:relative}

/* Voice is a portrait-only scene; transcripts remain in the chat scene. */
.consultation-voice-controls{position:absolute;z-index:3;left:50%;bottom:24px;transform:translateX(-50%);width:min(90%,420px);text-align:center;padding:12px;border-radius:12px;background:#090907c9;backdrop-filter:blur(8px)}
.consultation-voice-controls p{font-size:12px;margin:0 0 10px;color:#e8ddbd}
.consultation-voice-controls button,.consultation-voice-controls a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 20px;border-radius:6px}
.consultation-page[data-consultation-mode=voice]{height:100dvh;overflow:hidden;padding-bottom:0!important}
.consultation-page[data-consultation-mode=voice] .consultation-layout{height:calc(100dvh - var(--umsh-chrome-bottom-h,74px));flex:none;display:flex;flex-direction:column}
.consultation-page[data-consultation-mode=voice] .umsh-service-shell{flex-shrink:0}
.consultation-page[data-consultation-mode=voice] .consultation-shell{flex:1;display:block;width:100%;margin:0;min-height:0;overflow:hidden}
.consultation-page[data-consultation-mode=voice] .consultation-stage{height:100%;min-height:0;max-height:none}
.consultation-page[data-consultation-mode=voice] .consultation-room{display:none!important}
@media(min-width:768px){.consultation-page[data-consultation-mode=voice] .consultation-character{object-fit:contain}}
