/* ============================================================
   ZT BRAND STUDIO — SMART CONCIERGE V11
   Luxury geometric quiz · responsive · theme-font only
============================================================ */

#zt-smart-concierge {
  --ztsc-black: #050505;
  --ztsc-black-2: #090907;
  --ztsc-black-3: #11100d;
  --ztsc-panel: #0d0d0b;
  --ztsc-gold: #edb126;
  --ztsc-gold-2: #f5cd68;
  --ztsc-gold-3: #ffe9a4;
  --ztsc-gold-dark: #75500f;
  --ztsc-text: #fffaf0;
  --ztsc-muted: rgba(255, 250, 240, .70);
  --ztsc-soft: rgba(255, 250, 240, .48);
  --ztsc-line: rgba(237, 177, 38, .20);
  --ztsc-line-strong: rgba(237, 177, 38, .48);
  --ztsc-glass: rgba(255, 255, 255, .075);
  --ztsc-glass-2: rgba(255, 255, 255, .035);
  --ztsc-ice-line: rgba(255, 255, 255, .28);
  --ztsc-ice-line-soft: rgba(255, 255, 255, .14);
  --ztsc-danger: #ffb9b9;
  --ztsc-success: #c8f3ba;
  --ztsc-cut: polygon(0 0, calc(100% - 15px) 0, 100% 15px, 100% 100%, 15px 100%, 0 calc(100% - 15px));
  --ztsc-cut-small: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
  --ztsc-shadow: 0 35px 110px rgba(0, 0, 0, .72);
  color: var(--ztsc-text);
  font-family: inherit;
  direction: ltr !important;
  text-align: left;
  isolation: isolate;
}

#zt-smart-concierge,
#zt-smart-concierge *,
#zt-smart-concierge *::before,
#zt-smart-concierge *::after {
  box-sizing: border-box;
  min-width: 0;
}

#zt-smart-concierge [hidden] { display: none !important; }

#zt-smart-concierge button,
#zt-smart-concierge input,
#zt-smart-concierge select,
#zt-smart-concierge textarea {
  font: inherit;
}

#zt-smart-concierge button,
#zt-smart-concierge a,
#zt-smart-concierge summary {
  -webkit-tap-highlight-color: transparent;
}

#zt-smart-concierge img {
  max-width: 100%;
}

html.ztsc-lock,
html.ztsc-lock body {
  overflow: hidden !important;
  overscroll-behavior: none;
}

/* ============================================================
   01 — GEOMETRIC CONTROL LANGUAGE
============================================================ */

#zt-smart-concierge .ztsc-geo {
  clip-path: var(--ztsc-cut);
  border-radius: 0 !important;
}

#zt-smart-concierge :where(
  .ztsc-btn,
  .ztsc-mini-btn,
  .ztsc-icon-btn,
  .ztsc-choice,
  .ztsc-chip,
  .ztsc-channel,
  .ztsc-skip-link,
  .ztsc-service-accordion summary
) {
  position: relative;
  color: var(--ztsc-text) !important;
  text-decoration: none !important;
  border: 1px solid var(--ztsc-ice-line-soft) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.035) 52%, rgba(255,255,255,.018)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.11),
    0 10px 26px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(13px) saturate(118%);
  -webkit-backdrop-filter: blur(13px) saturate(118%);
  filter: drop-shadow(0 5px 0 rgba(0,0,0,.42));
  transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease, filter .18s ease, box-shadow .18s ease;
}

#zt-smart-concierge :where(
  .ztsc-btn,
  .ztsc-mini-btn,
  .ztsc-icon-btn,
  .ztsc-choice,
  .ztsc-chip,
  .ztsc-channel,
  .ztsc-skip-link
) {
  cursor: pointer;
}

#zt-smart-concierge :where(
  .ztsc-btn,
  .ztsc-mini-btn,
  .ztsc-icon-btn,
  .ztsc-choice,
  .ztsc-chip,
  .ztsc-channel,
  .ztsc-skip-link,
  .ztsc-service-accordion summary
):hover {
  color: #151006 !important;
  border-color: #ffe9aa !important;
  background: linear-gradient(135deg, #fff1bd 0%, #f5cd68 34%, #edb126 70%, #b77a13 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.58), 0 15px 34px rgba(237,177,38,.24) !important;
  filter: drop-shadow(0 6px 0 #704c0f) drop-shadow(0 15px 24px rgba(237,177,38,.16));
  transform: translateY(-1px);
}

#zt-smart-concierge :where(
  .ztsc-btn,
  .ztsc-mini-btn,
  .ztsc-icon-btn,
  .ztsc-choice,
  .ztsc-chip,
  .ztsc-channel,
  .ztsc-skip-link
):focus-visible,
#zt-smart-concierge summary:focus-visible,
#zt-smart-concierge input:focus-visible,
#zt-smart-concierge select:focus-visible,
#zt-smart-concierge textarea:focus-visible {
  outline: 2px solid var(--ztsc-gold-2) !important;
  outline-offset: 3px !important;
}

#zt-smart-concierge .ztsc-btn--primary {
  color: #151006 !important;
  border-color: #ffe7a2 !important;
  background: linear-gradient(135deg, #fff0b3 0%, #f3c75d 32%, #edb126 67%, #b67a15 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 16px 34px rgba(237,177,38,.20) !important;
  filter: drop-shadow(0 7px 0 #6f4b0e) drop-shadow(0 15px 22px rgba(237,177,38,.17));
}

#zt-smart-concierge .ztsc-btn--primary:hover {
  background: linear-gradient(135deg, #fff7d7 0%, #ffdc79 34%, #edb126 72%, #c78916 100%) !important;
  transform: translateY(-2px);
  filter: drop-shadow(0 8px 0 #6f4b0e) drop-shadow(0 18px 28px rgba(237,177,38,.23));
}

#zt-smart-concierge .ztsc-btn {
  min-height: 54px;
  padding: 0 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .075em;
  text-transform: uppercase;
  line-height: 1.25;
  text-align: center;
}

#zt-smart-concierge .ztsc-mini-btn {
  min-height: 38px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.25;
}

/* ============================================================
   02 — FLOATING LAUNCHER
============================================================ */

#zt-smart-concierge .ztsc-launcher-wrap {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, env(safe-area-inset-bottom));
  z-index: 2147481200;
  display: flex;
  align-items: center;
  gap: 11px;
  max-width: calc(100% - 30px);
}

#zt-smart-concierge.is-concierge-open .ztsc-launcher-wrap {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

#zt-smart-concierge .ztsc-launcher-label {
  min-height: 39px;
  max-width: 210px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--ztsc-gold-3);
  background: rgba(8,8,7,.94);
  border: 1px solid var(--ztsc-line);
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(0,0,0,.30);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateX(8px);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
}

#zt-smart-concierge .ztsc-launcher-wrap:hover .ztsc-launcher-label,
#zt-smart-concierge .ztsc-launcher-wrap:focus-within .ztsc-launcher-label {
  opacity: 1;
  transform: none;
}

#zt-smart-concierge .ztsc-launcher {
  position: relative;
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  padding: 0;
  border: 1px solid rgba(255,224,146,.78) !important;
  background:
    radial-gradient(circle at 35% 27%, rgba(237,177,38,.16), transparent 34%),
    linear-gradient(145deg, #17140d 0%, #0a0907 48%, #040404 100%) !important;
  overflow: visible;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 0 0 5px rgba(237,177,38,.055),
    0 18px 42px rgba(0,0,0,.44) !important;
  filter: drop-shadow(0 7px 0 #422f0c) drop-shadow(0 18px 28px rgba(237,177,38,.16));
}

#zt-smart-concierge .ztsc-launcher:hover {
  color: inherit !important;
  background:
    radial-gradient(circle at 35% 27%, rgba(237,177,38,.24), transparent 35%),
    linear-gradient(145deg, #1d180d 0%, #0b0a07 48%, #040404 100%) !important;
  transform: translateY(-2px) scale(1.025);
  filter: drop-shadow(0 8px 0 #51370c) drop-shadow(0 21px 32px rgba(237,177,38,.24));
}

#zt-smart-concierge .ztsc-launcher-halo {
  position: absolute;
  inset: -8px;
  clip-path: var(--ztsc-cut);
  border: 1px solid rgba(237,177,38,.34);
  box-shadow: 0 0 28px rgba(237,177,38,.10);
  animation: ztscHalo 2.8s ease-out infinite;
  pointer-events: none;
}

#zt-smart-concierge .ztsc-launcher-frame {
  position: absolute;
  inset: 8px;
  clip-path: var(--ztsc-cut-small);
  border: 1px solid rgba(237,177,38,.54);
  background: linear-gradient(145deg, rgba(237,177,38,.10), rgba(255,255,255,.018));
  pointer-events: none;
}

#zt-smart-concierge .ztsc-launcher-core {
  position: absolute;
  inset: 15px;
  z-index: 3;
  display: grid;
  place-items: center;
  clip-path: var(--ztsc-cut-small);
  background: #080807;
  border: 1px solid rgba(255,226,150,.20);
  overflow: hidden;
}

#zt-smart-concierge .ztsc-launcher-logo-bg {
  position: absolute;
  inset: 5px;
  z-index: 2;
  display: block !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  pointer-events: none;
}

#zt-smart-concierge .ztsc-launcher img.ztsc-launcher-logo {
  position: absolute !important;
  inset: 5px !important;
  z-index: 3 !important;
  width: calc(100% - 10px) !important;
  height: calc(100% - 10px) !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  clip-path: none !important;
  pointer-events: none !important;
}

#zt-smart-concierge .ztsc-launcher-status {
  position: absolute;
  z-index: 6;
  top: 6px;
  right: 6px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #c9f6b8;
  border: 3px solid #080807;
  box-shadow: 0 0 0 2px rgba(201,246,184,.14), 0 0 12px rgba(201,246,184,.56);
}

@keyframes ztscHalo {
  0% { opacity: .70; transform: scale(.94); }
  72%, 100% { opacity: 0; transform: scale(1.16); }
}

/* ============================================================
   03 — OVERLAY / RESPONSIVE DIALOG
============================================================ */

#zt-smart-concierge .ztsc-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147481300;
  display: grid;
  place-items: center;
  --ztsc-overlay-padding: clamp(10px, 2vw, 24px);
  padding: var(--ztsc-overlay-padding);
  background: rgba(0,0,0,.88);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  transition: opacity .20s ease, visibility .20s ease;
}

#zt-smart-concierge .ztsc-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

#zt-smart-concierge .ztsc-dialog {
  width: min(1180px, 100%);
  max-width: 100%;
  height: min(830px, calc(100vh - clamp(20px, 4vw, 48px)));
  height: min(830px, calc(100dvh - clamp(20px, 4vw, 48px)));
  max-height: 100%;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(250px, 330px) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--ztsc-line-strong);
  border-radius: 26px;
  background: var(--ztsc-black);
  box-shadow: var(--ztsc-shadow);
  outline: none;
  transform: translateY(12px) scale(.985);
  transition: transform .22s ease;
}

#zt-smart-concierge .ztsc-overlay.is-open .ztsc-dialog {
  transform: none;
}

/* ============================================================
   04 — SIDEBAR
============================================================ */

#zt-smart-concierge .ztsc-side {
  position: relative;
  min-height: 0;
  padding: clamp(24px, 3vw, 40px);
  overflow: auto;
  overscroll-behavior: contain;
  background:
    radial-gradient(circle at 12% 5%, rgba(237,177,38,.18), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(237,177,38,.08), transparent 34%),
    linear-gradient(160deg, #161006 0%, #090806 46%, #050505 100%);
  border-right: 1px solid var(--ztsc-line);
  scrollbar-width: thin;
  scrollbar-color: rgba(237,177,38,.32) transparent;
}

#zt-smart-concierge .ztsc-side::after {
  content: "ZT";
  position: absolute;
  right: -30px;
  bottom: -50px;
  color: rgba(237,177,38,.035);
  font-size: 170px;
  font-weight: 950;
  line-height: 1;
  letter-spacing: -.09em;
  pointer-events: none;
}

#zt-smart-concierge .ztsc-brand {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: clamp(30px, 5vh, 50px);
  color: inherit;
  text-decoration: none;
}

#zt-smart-concierge .ztsc-brand-mark {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  clip-path: var(--ztsc-cut-small);
  border: 1px solid rgba(237,177,38,.42);
  background-color: #080807;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 29px 29px !important;
}

#zt-smart-concierge .ztsc-brand-mark img.ztsc-brand-logo {
  width: 29px !important;
  height: 29px !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  object-fit: contain !important;
}

#zt-smart-concierge .ztsc-brand-copy {
  display: grid;
  gap: 2px;
}

#zt-smart-concierge .ztsc-brand-copy strong {
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: .03em;
}

#zt-smart-concierge .ztsc-brand-copy span {
  color: var(--ztsc-muted);
  font-size: 10px;
}

#zt-smart-concierge .ztsc-eyebrow,
#zt-smart-concierge .ztsc-kicker {
  display: block;
  color: var(--ztsc-gold-2);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}

#zt-smart-concierge .ztsc-side h2 {
  margin: 12px 0 14px;
  max-width: 12ch;
  font-size: clamp(29px, 3.1vw, 42px);
  line-height: .98;
  letter-spacing: -.047em;
  overflow-wrap: anywhere;
}

#zt-smart-concierge .ztsc-side h2 span {
  color: var(--ztsc-gold-2);
}

#zt-smart-concierge .ztsc-side > p {
  margin: 0;
  color: var(--ztsc-muted);
  font-size: 12.5px;
  line-height: 1.72;
}

#zt-smart-concierge .ztsc-side-capabilities {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 28px;
}

#zt-smart-concierge .ztsc-side-capabilities span {
  padding: 11px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--ztsc-line);
  clip-path: var(--ztsc-cut-small);
  background: rgba(255,255,255,.028);
}

#zt-smart-concierge .ztsc-side-capabilities b {
  color: var(--ztsc-gold-2);
  font-size: 9px;
}

#zt-smart-concierge .ztsc-side-capabilities strong {
  font-size: 10px;
  line-height: 1.25;
}

#zt-smart-concierge .ztsc-side-note {
  position: relative;
  z-index: 2;
  margin-top: 28px;
  padding-top: 17px;
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr);
  gap: 10px;
  border-top: 1px solid var(--ztsc-line);
}

#zt-smart-concierge .ztsc-side-dot {
  width: 8px;
  height: 8px;
  margin-top: 3px;
  border-radius: 50%;
  background: var(--ztsc-success);
  box-shadow: 0 0 14px rgba(200,243,186,.45);
}

#zt-smart-concierge .ztsc-side-note div {
  display: grid;
  gap: 4px;
}

#zt-smart-concierge .ztsc-side-note strong {
  color: var(--ztsc-gold-3);
  font-size: 11px;
}

#zt-smart-concierge .ztsc-side-note span:not(.ztsc-side-dot) {
  color: var(--ztsc-soft);
  font-size: 9.5px;
  line-height: 1.5;
}

/* ============================================================
   05 — MAIN / TOPBAR / SCROLLING
============================================================ */

#zt-smart-concierge .ztsc-main {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 0%, rgba(237,177,38,.055), transparent 30%),
    linear-gradient(180deg, #090909 0%, #050505 100%);
}

#zt-smart-concierge .ztsc-topbar {
  min-height: 72px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 13px;
  padding: 14px clamp(18px, 3vw, 30px);
  border-bottom: 1px solid rgba(255,255,255,.065);
  background: rgba(5,5,5,.90);
  z-index: 12;
}

#zt-smart-concierge .ztsc-icon-btn {
  width: 40px;
  height: 40px;
  padding: 0;
  display: grid;
  place-items: center;
  font-size: 22px;
  line-height: 1;
}

#zt-smart-concierge .ztsc-icon-btn[hidden] {
  visibility: hidden;
  display: grid !important;
  pointer-events: none;
}

#zt-smart-concierge .ztsc-mobile-brand {
  display: none;
}

#zt-smart-concierge .ztsc-progress-wrap {
  width: 100%;
  min-width: 0;
}

#zt-smart-concierge .ztsc-progress-meta {
  margin-bottom: 7px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--ztsc-soft);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  white-space: nowrap;
}

#zt-smart-concierge .ztsc-progress-meta strong {
  color: var(--ztsc-gold-2);
  font-size: 9px;
}

#zt-smart-concierge .ztsc-progress {
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.075);
}

#zt-smart-concierge .ztsc-progress > span {
  width: 100%;
  transform: scaleX(.16666);
  transform-origin: left center;
  height: 100%;
  display: block;
  border-radius: inherit;
  background: linear-gradient(90deg, #8b5e14, var(--ztsc-gold), var(--ztsc-gold-2));
  box-shadow: 0 0 14px rgba(237,177,38,.22);
  transition: transform .22s ease;
}

#zt-smart-concierge .ztsc-content {
  min-width: 0;
  min-height: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: clamp(28px, 4vw, 50px);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(237,177,38,.42) transparent;
}

#zt-smart-concierge .ztsc-content::-webkit-scrollbar,
#zt-smart-concierge .ztsc-side::-webkit-scrollbar {
  width: 8px;
}

#zt-smart-concierge .ztsc-content::-webkit-scrollbar-thumb,
#zt-smart-concierge .ztsc-side::-webkit-scrollbar-thumb {
  background: linear-gradient(var(--ztsc-gold-2), #8a5d13);
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}

#zt-smart-concierge .ztsc-step {
  width: min(760px, 100%);
  max-width: 100%;
  margin: 0 auto;
  animation: ztscStep .22s ease both;
}

@keyframes ztscStep {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: none; }
}

#zt-smart-concierge .ztsc-heading {
  max-width: 14ch;
  margin: 10px 0 13px;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1;
  letter-spacing: -.05em;
  overflow-wrap: anywhere;
}

#zt-smart-concierge .ztsc-heading span {
  color: var(--ztsc-gold-2);
}

#zt-smart-concierge .ztsc-lead {
  max-width: 66ch;
  margin: 0 0 25px;
  color: var(--ztsc-muted);
  font-size: 13px;
  line-height: 1.72;
  overflow-wrap: anywhere;
}

/* ============================================================
   06 — INTRO
============================================================ */

#zt-smart-concierge .ztsc-capability-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 22px 0 14px;
}

#zt-smart-concierge .ztsc-capability-strip > span {
  min-height: 82px;
  padding: 13px;
  display: grid;
  align-content: center;
  gap: 5px;
  border: 1px solid var(--ztsc-line);
  clip-path: var(--ztsc-cut-small);
  background: linear-gradient(145deg, rgba(237,177,38,.065), rgba(255,255,255,.018));
}

#zt-smart-concierge .ztsc-capability-strip b {
  color: var(--ztsc-gold-2);
  font-size: 11px;
  letter-spacing: .08em;
}

#zt-smart-concierge .ztsc-capability-strip small {
  color: var(--ztsc-muted);
  font-size: 9px;
  line-height: 1.4;
}

#zt-smart-concierge .ztsc-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 22px;
}

#zt-smart-concierge .ztsc-trust-row span {
  padding: 7px 9px;
  color: var(--ztsc-muted);
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.025);
  font-size: 9px;
  line-height: 1.2;
}

#zt-smart-concierge .ztsc-trust-row span::before {
  content: "•";
  margin-right: 6px;
  color: var(--ztsc-gold-2);
}

#zt-smart-concierge .ztsc-resume {
  margin: 17px 0 21px;
  padding: 13px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--ztsc-line);
  background: rgba(237,177,38,.045);
  clip-path: var(--ztsc-cut-small);
}

#zt-smart-concierge .ztsc-resume div {
  display: grid;
  gap: 3px;
}

#zt-smart-concierge .ztsc-resume strong {
  font-size: 11px;
}

#zt-smart-concierge .ztsc-resume small {
  color: var(--ztsc-soft);
  font-size: 9px;
  line-height: 1.35;
}

#zt-smart-concierge .ztsc-actions {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

#zt-smart-concierge .ztsc-actions--right {
  justify-content: flex-end;
}

/* ============================================================
   07 — GOAL QUIZ
============================================================ */

#zt-smart-concierge .ztsc-context-note {
  margin: -3px 0 16px;
  padding: 11px 13px;
  display: grid;
  gap: 3px;
  border-left: 2px solid var(--ztsc-gold);
  background: linear-gradient(90deg, rgba(237,177,38,.07), transparent);
}

#zt-smart-concierge .ztsc-context-note span {
  color: var(--ztsc-gold-2);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
}

#zt-smart-concierge .ztsc-context-note strong {
  color: var(--ztsc-muted);
  font-size: 10px;
  line-height: 1.45;
}

#zt-smart-concierge .ztsc-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}

#zt-smart-concierge .ztsc-choice {
  width: 100%;
  min-height: 112px;
  padding: 16px;
  display: grid;
  grid-template-columns: 34px minmax(0,1fr) auto;
  align-items: start;
  gap: 11px;
  text-align: left;
}

#zt-smart-concierge .ztsc-choice-index {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  color: var(--ztsc-gold-2);
  border: 1px solid rgba(237,177,38,.28);
  background: rgba(237,177,38,.055);
  font-size: 9px;
  font-weight: 900;
}

#zt-smart-concierge .ztsc-choice > span:nth-child(2) {
  display: grid;
  gap: 5px;
}

#zt-smart-concierge .ztsc-choice strong {
  color: var(--ztsc-text);
  font-size: 12.5px;
  line-height: 1.32;
}

#zt-smart-concierge .ztsc-choice small {
  color: var(--ztsc-muted);
  font-size: 9.5px;
  line-height: 1.5;
}

#zt-smart-concierge .ztsc-choice > i {
  color: var(--ztsc-gold-2);
  font-size: 14px;
  font-style: normal;
}

#zt-smart-concierge .ztsc-choice:hover :where(strong, small, i, .ztsc-choice-index) {
  color: #151006 !important;
}

#zt-smart-concierge .ztsc-choice.is-selected {
  color: #151006 !important;
  border-color: #ffe5a0 !important;
  background: linear-gradient(135deg, #fff0b3 0%, #f3c85f 34%, #edb126 70%, #b67a15 100%) !important;
  filter: drop-shadow(0 6px 0 #6f4b0e) drop-shadow(0 14px 22px rgba(237,177,38,.14));
}

#zt-smart-concierge .ztsc-choice.is-selected :where(strong, small, i, .ztsc-choice-index) {
  color: #151006 !important;
}

#zt-smart-concierge .ztsc-choice.is-selected .ztsc-choice-index {
  border-color: rgba(21,16,6,.30);
  background: rgba(21,16,6,.07);
}

/* ============================================================
   08 — SCOPE CHIPS / CONTEXT FIELDS
============================================================ */

#zt-smart-concierge .ztsc-subhead {
  margin: 4px 0 11px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
}

#zt-smart-concierge .ztsc-subhead--spaced {
  margin-top: 24px;
}

#zt-smart-concierge .ztsc-subhead strong {
  font-size: 12px;
}

#zt-smart-concierge .ztsc-subhead small {
  color: var(--ztsc-soft);
  font-size: 9px;
}

#zt-smart-concierge .ztsc-chip-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

#zt-smart-concierge .ztsc-chip-grid--compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#zt-smart-concierge .ztsc-chip {
  width: 100%;
  min-height: 70px;
  padding: 12px;
  display: grid;
  grid-template-columns: 27px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  text-align: left;
}

#zt-smart-concierge .ztsc-chip-grid--compact .ztsc-chip {
  min-height: 48px;
}

#zt-smart-concierge .ztsc-chip-mark {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  color: var(--ztsc-gold-2);
  border: 1px solid rgba(237,177,38,.28);
  background: rgba(237,177,38,.045);
  font-size: 12px;
  font-weight: 900;
}

#zt-smart-concierge .ztsc-chip > span:last-child {
  display: grid;
  gap: 3px;
}

#zt-smart-concierge .ztsc-chip strong {
  color: var(--ztsc-text);
  font-size: 10.5px;
  line-height: 1.3;
}

#zt-smart-concierge .ztsc-chip small {
  color: var(--ztsc-muted);
  font-size: 8.5px;
  line-height: 1.35;
}

#zt-smart-concierge .ztsc-chip:hover :where(strong, small, .ztsc-chip-mark) {
  color: #151006 !important;
}

#zt-smart-concierge .ztsc-chip.is-selected {
  color: #151006 !important;
  border-color: #ffe5a0 !important;
  background: linear-gradient(135deg, #fff0b3, #edb126 70%, #b67a15) !important;
  filter: drop-shadow(0 5px 0 #6f4b0e);
}

#zt-smart-concierge .ztsc-chip.is-selected :where(strong, small, .ztsc-chip-mark) {
  color: #151006 !important;
}

#zt-smart-concierge .ztsc-optional-panel {
  margin-top: 15px;
  border: 1px solid var(--ztsc-line);
  background: rgba(255,255,255,.018);
}

#zt-smart-concierge .ztsc-optional-panel > summary {
  padding: 13px 14px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  color: var(--ztsc-text);
  font-size: 10px;
  font-weight: 850;
  list-style: none;
}

#zt-smart-concierge .ztsc-optional-panel > summary::-webkit-details-marker { display: none; }

#zt-smart-concierge .ztsc-optional-panel > summary span {
  color: var(--ztsc-gold-2);
  font-size: 15px;
}

#zt-smart-concierge .ztsc-optional-panel > p {
  margin: 0;
  padding: 0 14px 12px;
  color: var(--ztsc-muted);
  font-size: 9.5px;
  line-height: 1.5;
}

#zt-smart-concierge .ztsc-optional-panel .ztsc-chip-grid {
  padding: 0 14px 15px;
}

#zt-smart-concierge .ztsc-context-grid,
#zt-smart-concierge .ztsc-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}

#zt-smart-concierge .ztsc-context-grid .ztsc-field:last-child {
  grid-column: span 2;
}

#zt-smart-concierge .ztsc-field {
  display: grid;
  gap: 7px;
}

#zt-smart-concierge .ztsc-field--full {
  margin-top: 12px;
}

#zt-smart-concierge .ztsc-field > span {
  color: var(--ztsc-muted);
  font-size: 9.5px;
  font-weight: 800;
}

#zt-smart-concierge .ztsc-field > span small {
  color: var(--ztsc-soft);
  font-size: 8px;
  font-weight: 500;
}

#zt-smart-concierge .ztsc-field input,
#zt-smart-concierge .ztsc-field select,
#zt-smart-concierge .ztsc-field textarea {
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 11px 12px;
  color: var(--ztsc-text) !important;
  border: 1px solid var(--ztsc-ice-line-soft) !important;
  border-radius: 0 !important;
  background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
  clip-path: var(--ztsc-cut-small);
  outline: none;
  font-size: 11px;
  line-height: 1.4;
  caret-color: var(--ztsc-gold-2);
  accent-color: var(--ztsc-gold);
}

#zt-smart-concierge .ztsc-field textarea {
  min-height: 92px;
  resize: vertical;
}

#zt-smart-concierge .ztsc-field input::placeholder,
#zt-smart-concierge .ztsc-field textarea::placeholder {
  color: rgba(255,250,240,.33);
}

#zt-smart-concierge .ztsc-field select option {
  color: #fff;
  background: #0b0b0a;
}

#zt-smart-concierge .ztsc-field input:focus,
#zt-smart-concierge .ztsc-field select:focus,
#zt-smart-concierge .ztsc-field textarea:focus {
  border-color: rgba(237,177,38,.74) !important;
  box-shadow: 0 0 0 3px rgba(237,177,38,.10) !important;
}

#zt-smart-concierge .ztsc-inline-error {
  margin-top: 11px;
  padding: 10px 12px;
  color: var(--ztsc-danger);
  border-left: 2px solid #ff8585;
  background: rgba(255,120,120,.055);
  font-size: 10px;
  line-height: 1.45;
}

/* ============================================================
   09 — RECOMMENDATION
============================================================ */

#zt-smart-concierge .ztsc-route-card {
  position: relative;
  overflow: hidden;
  padding: clamp(21px, 3vw, 30px);
  border: 1px solid var(--ztsc-line-strong);
  clip-path: var(--ztsc-cut);
  background:
    radial-gradient(circle at 90% 5%, rgba(237,177,38,.13), transparent 30%),
    linear-gradient(155deg, #151006 0%, #0a0907 45%, #070707 100%);
  box-shadow: 0 24px 55px rgba(0,0,0,.32);
}

#zt-smart-concierge .ztsc-route-card::after {
  content: "ZT";
  position: absolute;
  right: -8px;
  bottom: -20px;
  color: rgba(237,177,38,.055);
  font-size: 100px;
  font-weight: 950;
  line-height: 1;
  pointer-events: none;
}

#zt-smart-concierge .ztsc-route-top {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 15px;
}

#zt-smart-concierge .ztsc-route-code,
#zt-smart-concierge .ztsc-route-fit {
  color: var(--ztsc-gold-2);
  font-size: 8.5px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

#zt-smart-concierge .ztsc-route-card h3 {
  position: relative;
  z-index: 2;
  max-width: 18ch;
  margin: 0 0 10px;
  color: var(--ztsc-text);
  font-size: clamp(25px, 3.7vw, 42px);
  line-height: 1.02;
  letter-spacing: -.04em;
  overflow-wrap: anywhere;
}

#zt-smart-concierge .ztsc-route-card > p {
  position: relative;
  z-index: 2;
  max-width: 68ch;
  margin: 0 0 16px;
  color: var(--ztsc-muted);
  font-size: 11px;
  line-height: 1.7;
}

#zt-smart-concierge .ztsc-route-selected {
  position: relative;
  z-index: 2;
  margin: 15px 0;
  padding: 13px;
  border: 1px solid rgba(255,255,255,.085);
  background: rgba(255,255,255,.025);
}

#zt-smart-concierge .ztsc-route-selected > strong {
  display: block;
  margin-bottom: 8px;
  color: var(--ztsc-gold-3);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

#zt-smart-concierge .ztsc-route-selected > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

#zt-smart-concierge .ztsc-route-selected > div span {
  padding: 6px 8px;
  color: var(--ztsc-muted);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  font-size: 8.5px;
  line-height: 1.25;
}

#zt-smart-concierge .ztsc-route-selected > div span.is-addon {
  color: var(--ztsc-gold-2);
  border-color: var(--ztsc-line);
}

#zt-smart-concierge .ztsc-route-card ul {
  position: relative;
  z-index: 2;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
  list-style: none;
}

#zt-smart-concierge .ztsc-route-card li {
  position: relative;
  padding-left: 16px;
  color: var(--ztsc-muted);
  font-size: 10px;
  line-height: 1.5;
}

#zt-smart-concierge .ztsc-route-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .54em;
  width: 7px;
  height: 7px;
  background: var(--ztsc-gold);
  clip-path: var(--ztsc-cut-small);
}

#zt-smart-concierge .ztsc-route-actions {
  position: relative;
  z-index: 2;
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#zt-smart-concierge .ztsc-route-note {
  margin-top: 14px;
  padding: 13px 15px;
  border-left: 2px solid var(--ztsc-gold);
  background: linear-gradient(90deg, rgba(237,177,38,.055), transparent 75%);
}

#zt-smart-concierge .ztsc-route-note span {
  color: var(--ztsc-gold-2);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
}

#zt-smart-concierge .ztsc-route-note p {
  margin: 5px 0 0;
  color: var(--ztsc-muted);
  font-size: 10px;
  line-height: 1.55;
}

/* ============================================================
   10 — CONTACT / CHANNEL / SUMMARY
============================================================ */

#zt-smart-concierge .ztsc-channel-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
  margin-bottom: 18px;
}

#zt-smart-concierge .ztsc-channel {
  width: 100%;
  min-height: 82px;
  padding: 13px;
  display: grid;
  grid-template-columns: 34px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  text-align: left;
}

#zt-smart-concierge .ztsc-channel > span:first-child {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  color: var(--ztsc-gold-2);
  border: 1px solid var(--ztsc-line);
  background: rgba(237,177,38,.045);
  font-size: 10px;
  font-weight: 900;
}

#zt-smart-concierge .ztsc-channel > div {
  display: grid;
  gap: 3px;
}

#zt-smart-concierge .ztsc-channel strong {
  color: var(--ztsc-text);
  font-size: 11px;
}

#zt-smart-concierge .ztsc-channel small {
  color: var(--ztsc-muted);
  font-size: 8.5px;
  line-height: 1.4;
}

#zt-smart-concierge .ztsc-channel i {
  color: var(--ztsc-gold-2);
  font-style: normal;
}

#zt-smart-concierge .ztsc-channel:hover :where(strong, small, i, span) {
  color: #151006 !important;
}

#zt-smart-concierge .ztsc-channel.is-selected {
  color: #151006 !important;
  border-color: #ffe5a0 !important;
  background: linear-gradient(135deg, #fff0b3, #edb126 70%, #b67a15) !important;
  filter: drop-shadow(0 6px 0 #6f4b0e);
}

#zt-smart-concierge .ztsc-channel.is-selected :where(strong, small, i, span) {
  color: #151006 !important;
}

#zt-smart-concierge .ztsc-contact-form {
  width: 100%;
  max-width: 100%;
}

#zt-smart-concierge .ztsc-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

#zt-smart-concierge .ztsc-review {
  margin-top: 15px;
  border: 1px solid var(--ztsc-line);
  background: rgba(255,255,255,.022);
}

#zt-smart-concierge .ztsc-review-head {
  padding: 12px 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

#zt-smart-concierge .ztsc-review-head > div {
  display: grid;
  gap: 3px;
}

#zt-smart-concierge .ztsc-review-head span {
  color: var(--ztsc-gold-2);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .11em;
}

#zt-smart-concierge .ztsc-review-head strong {
  font-size: 10px;
}

#zt-smart-concierge .ztsc-review pre {
  max-height: 235px;
  margin: 0;
  padding: 13px;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
  color: var(--ztsc-muted);
  background: transparent;
  font: inherit;
  font-size: 9.5px;
  line-height: 1.62;
  scrollbar-width: thin;
  scrollbar-color: rgba(237,177,38,.35) transparent;
}

#zt-smart-concierge .ztsc-consent {
  margin: 14px 0 0;
  display: grid;
  grid-template-columns: 18px minmax(0,1fr);
  gap: 8px;
  align-items: start;
  color: var(--ztsc-muted);
  font-size: 9px;
  line-height: 1.48;
}

#zt-smart-concierge .ztsc-consent input {
  width: 16px;
  height: 16px;
  margin: 1px 0 0;
  accent-color: var(--ztsc-gold);
}

#zt-smart-concierge .ztsc-status {
  min-height: 0;
  margin-top: 10px;
  color: var(--ztsc-success);
  font-size: 10px;
  line-height: 1.45;
}

#zt-smart-concierge .ztsc-final-send {
  width: min(330px, 100%);
  margin-top: 18px;
}

#zt-smart-concierge .ztsc-final-send.is-loading {
  opacity: .68;
  pointer-events: none;
}

#zt-smart-concierge .ztsc-skip-link {
  width: fit-content;
  max-width: 100%;
  min-height: 42px;
  margin: 17px auto 0;
  padding: 0 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9.5px;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
}

/* ============================================================
   11 — RESOURCES
============================================================ */

#zt-smart-concierge .ztsc-service-accordion {
  display: grid;
  gap: 10px;
}

#zt-smart-concierge .ztsc-service-accordion details {
  overflow: hidden;
  border: 1px solid var(--ztsc-line);
  background: rgba(255,255,255,.017);
}

#zt-smart-concierge .ztsc-service-accordion summary {
  padding: 14px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  list-style: none;
}

#zt-smart-concierge .ztsc-service-accordion summary::-webkit-details-marker { display: none; }

#zt-smart-concierge .ztsc-service-accordion summary > span {
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  gap: 2px 9px;
  align-items: center;
}

#zt-smart-concierge .ztsc-service-accordion summary b {
  grid-row: span 2;
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  color: var(--ztsc-gold-2);
  border: 1px solid var(--ztsc-line);
  font-size: 8px;
}

#zt-smart-concierge .ztsc-service-accordion summary strong {
  color: var(--ztsc-text);
  font-size: 11px;
  line-height: 1.25;
}

#zt-smart-concierge .ztsc-service-accordion summary small {
  color: var(--ztsc-muted);
  font-size: 8.5px;
  line-height: 1.4;
}

#zt-smart-concierge .ztsc-service-accordion summary > i {
  color: var(--ztsc-gold-2);
  font-size: 18px;
  font-style: normal;
}

#zt-smart-concierge .ztsc-service-accordion summary:hover :where(b, strong, small, i) {
  color: #151006 !important;
}

#zt-smart-concierge .ztsc-accordion-body {
  padding: 14px;
  border-top: 1px solid rgba(255,255,255,.065);
}

#zt-smart-concierge .ztsc-accordion-body p {
  margin: 0;
  color: var(--ztsc-muted);
  font-size: 9.7px;
  line-height: 1.62;
}

#zt-smart-concierge .ztsc-accordion-body > div {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#zt-smart-concierge .ztsc-final-card {
  margin-top: 18px;
  padding: clamp(17px, 3vw, 24px);
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 16px;
  border: 1px solid var(--ztsc-line-strong);
  clip-path: var(--ztsc-cut);
  background: linear-gradient(145deg, #151006, #090806 62%, #060606);
}

#zt-smart-concierge .ztsc-final-card > div {
  display: grid;
  gap: 6px;
}

#zt-smart-concierge .ztsc-final-card span {
  color: var(--ztsc-gold-2);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .11em;
}

#zt-smart-concierge .ztsc-final-card strong {
  font-size: 17px;
  line-height: 1.2;
}

#zt-smart-concierge .ztsc-final-card p {
  margin: 0;
  color: var(--ztsc-muted);
  font-size: 9.5px;
  line-height: 1.55;
}

/* ============================================================
   12 — TOAST
============================================================ */

#zt-smart-concierge .ztsc-toast {
  position: fixed;
  left: 50%;
  bottom: max(24px, env(safe-area-inset-bottom));
  z-index: 2147481400;
  max-width: calc(100% - 28px);
  padding: 10px 14px;
  color: #151006;
  background: var(--ztsc-gold-2);
  clip-path: var(--ztsc-cut-small);
  box-shadow: 0 16px 38px rgba(0,0,0,.36);
  font-size: 10px;
  font-weight: 850;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 8px);
  transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
}

#zt-smart-concierge .ztsc-toast.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

/* ============================================================
   13 — RESPONSIVE / OVERFLOW PROTECTION
============================================================ */

@media (max-width: 980px) {
  #zt-smart-concierge .ztsc-dialog {
    grid-template-columns: minmax(220px, 280px) minmax(0,1fr);
  }

  #zt-smart-concierge .ztsc-side {
    padding: 24px;
  }

  #zt-smart-concierge .ztsc-side h2 {
    font-size: 31px;
  }

  #zt-smart-concierge .ztsc-capability-strip {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 820px) {
  #zt-smart-concierge .ztsc-overlay {
    --ztsc-overlay-padding: 8px;
    padding: var(--ztsc-overlay-padding);
  }

  #zt-smart-concierge .ztsc-dialog {
    width: 100%;
    height: calc(100vh - 16px);
    height: calc(100dvh - 16px);
    max-width: 100%;
    max-height: calc(100vh - 16px);
    max-height: calc(100dvh - 16px);
    grid-template-columns: minmax(0,1fr);
    border-radius: 20px;
  }

  #zt-smart-concierge .ztsc-side {
    display: none;
  }

  #zt-smart-concierge .ztsc-topbar {
    grid-template-columns: 40px auto minmax(0,1fr) 40px;
    gap: 9px;
    padding: 12px 14px;
  }

  #zt-smart-concierge .ztsc-mobile-brand {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--ztsc-text);
    text-decoration: none;
  }

  #zt-smart-concierge .ztsc-mobile-brand > span {
    width: 28px;
    height: 28px;
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }

  #zt-smart-concierge .ztsc-mobile-brand strong {
    font-size: 10px;
    letter-spacing: .06em;
  }

  #zt-smart-concierge .ztsc-content {
    padding: 25px 22px max(32px, env(safe-area-inset-bottom));
  }
}

@media (max-width: 640px) {
  #zt-smart-concierge .ztsc-overlay {
    --ztsc-overlay-padding: 0px;
    padding: var(--ztsc-overlay-padding);
  }

  #zt-smart-concierge .ztsc-dialog {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    max-width: 100%;
    max-height: 100vh;
    max-height: 100dvh;
    border-width: 0;
    border-radius: 0;
  }

  #zt-smart-concierge .ztsc-topbar {
    position: sticky;
    top: 0;
    min-height: 64px;
    padding-left: max(11px, env(safe-area-inset-left));
    padding-right: max(11px, env(safe-area-inset-right));
    background: rgba(5,5,5,.96);
  }

  #zt-smart-concierge .ztsc-progress-meta span {
    max-width: 92px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #zt-smart-concierge .ztsc-content {
    width: 100%;
    height: 100%;
    max-width: 100%;
    padding: 22px 14px max(36px, env(safe-area-inset-bottom));
    scrollbar-gutter: auto;
  }

  #zt-smart-concierge .ztsc-step {
    width: 100%;
  }

  #zt-smart-concierge .ztsc-heading {
    font-size: clamp(28px, 9vw, 39px);
  }

  #zt-smart-concierge .ztsc-lead {
    font-size: 12px;
  }

  #zt-smart-concierge .ztsc-choice-grid,
  #zt-smart-concierge .ztsc-chip-grid,
  #zt-smart-concierge .ztsc-chip-grid--compact,
  #zt-smart-concierge .ztsc-context-grid,
  #zt-smart-concierge .ztsc-contact-grid,
  #zt-smart-concierge .ztsc-channel-switch {
    grid-template-columns: minmax(0,1fr);
  }

  #zt-smart-concierge .ztsc-context-grid .ztsc-field:last-child {
    grid-column: auto;
  }

  #zt-smart-concierge .ztsc-choice {
    min-height: 0;
    padding: 14px;
  }

  #zt-smart-concierge .ztsc-chip {
    min-height: 62px;
  }

  #zt-smart-concierge .ztsc-capability-strip {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  #zt-smart-concierge .ztsc-capability-strip > span {
    min-height: 72px;
  }

  #zt-smart-concierge .ztsc-actions,
  #zt-smart-concierge .ztsc-actions--right {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    justify-content: stretch;
  }

  #zt-smart-concierge .ztsc-btn {
    width: 100%;
    min-height: 55px;
    padding-left: 16px;
    padding-right: 16px;
  }

  #zt-smart-concierge .ztsc-resume {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  }

  #zt-smart-concierge .ztsc-resume > div {
    grid-column: 1 / -1;
  }

  #zt-smart-concierge .ztsc-route-actions {
    display: grid;
    grid-template-columns: minmax(0,1fr);
  }

  #zt-smart-concierge .ztsc-mini-btn {
    width: 100%;
  }

  #zt-smart-concierge .ztsc-final-card {
    grid-template-columns: minmax(0,1fr);
  }

  #zt-smart-concierge .ztsc-final-card .ztsc-btn {
    width: 100%;
  }

  #zt-smart-concierge .ztsc-review pre {
    max-height: 210px;
  }

  #zt-smart-concierge .ztsc-launcher-wrap {
    right: max(13px, env(safe-area-inset-right));
    bottom: max(13px, env(safe-area-inset-bottom));
  }

  #zt-smart-concierge .ztsc-launcher-label {
    display: none;
  }

  #zt-smart-concierge .ztsc-launcher {
    width: 62px;
    height: 62px;
  }

  #zt-smart-concierge .ztsc-launcher-core {
    inset: 13px;
  }
}

@media (max-width: 390px) {
  #zt-smart-concierge .ztsc-topbar {
    grid-template-columns: 38px 30px minmax(0,1fr) 38px;
    gap: 7px;
  }

  #zt-smart-concierge .ztsc-mobile-brand strong {
    display: none;
  }

  #zt-smart-concierge .ztsc-progress-meta {
    font-size: 8px;
  }

  #zt-smart-concierge .ztsc-content {
    padding-left: 12px;
    padding-right: 12px;
  }

  #zt-smart-concierge .ztsc-heading {
    font-size: clamp(26px, 9vw, 34px);
  }

  #zt-smart-concierge .ztsc-capability-strip {
    grid-template-columns: minmax(0,1fr);
  }

  #zt-smart-concierge .ztsc-capability-strip > span {
    min-height: 58px;
  }

  #zt-smart-concierge .ztsc-choice {
    grid-template-columns: 31px minmax(0,1fr);
  }

  #zt-smart-concierge .ztsc-choice > i {
    display: none;
  }

  #zt-smart-concierge .ztsc-channel {
    grid-template-columns: 31px minmax(0,1fr);
  }

  #zt-smart-concierge .ztsc-channel i {
    display: none;
  }

  #zt-smart-concierge .ztsc-review-head {
    align-items: stretch;
    flex-direction: column;
  }

  #zt-smart-concierge .ztsc-review-head .ztsc-mini-btn {
    width: auto;
  }

  #zt-smart-concierge .ztsc-service-accordion summary {
    padding: 12px;
  }

  #zt-smart-concierge .ztsc-service-accordion summary > span {
    grid-template-columns: 26px minmax(0,1fr);
  }
}

@media (max-height: 680px) and (min-width: 821px) {
  #zt-smart-concierge .ztsc-dialog {
    height: calc(100vh - 14px);
    height: calc(100dvh - 14px);
  }

  #zt-smart-concierge .ztsc-overlay {
    --ztsc-overlay-padding: 7px;
    padding: var(--ztsc-overlay-padding);
  }

  #zt-smart-concierge .ztsc-side {
    padding-top: 22px;
    padding-bottom: 22px;
  }

  #zt-smart-concierge .ztsc-brand {
    margin-bottom: 25px;
  }

  #zt-smart-concierge .ztsc-content {
    padding-top: 26px;
    padding-bottom: 30px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #zt-smart-concierge *,
  #zt-smart-concierge *::before,
  #zt-smart-concierge *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}


/* ============================================================
   V11 — TYPOGRAPHY / DENSITY / CSS-ONLY FLAT ICON SYSTEM
   No external fonts, no SVG icons, no icon fonts.
============================================================ */
#zt-smart-concierge,
#zt-smart-concierge *,
#zt-smart-concierge *::before,
#zt-smart-concierge *::after {
  font-family: inherit !important;
}

#zt-smart-concierge { --ztsc-compact-gap: 12px; }

/* Readability floor */
#zt-smart-concierge .ztsc-brand-copy strong { font-size: 14px; }
#zt-smart-concierge .ztsc-brand-copy span,
#zt-smart-concierge .ztsc-eyebrow,
#zt-smart-concierge .ztsc-kicker,
#zt-smart-concierge .ztsc-progress-meta,
#zt-smart-concierge .ztsc-progress-meta strong,
#zt-smart-concierge .ztsc-side-note span:not(.ztsc-side-dot),
#zt-smart-concierge .ztsc-capability-strip small,
#zt-smart-concierge .ztsc-context-note span,
#zt-smart-concierge .ztsc-service-accordion summary small,
#zt-smart-concierge .ztsc-final-card span,
#zt-smart-concierge .ztsc-final-card p,
#zt-smart-concierge .ztsc-accordion-body p,
#zt-smart-concierge .ztsc-toast { font-size: 12px !important; }
#zt-smart-concierge .ztsc-side > p,
#zt-smart-concierge .ztsc-lead,
#zt-smart-concierge .ztsc-choice small,
#zt-smart-concierge .ztsc-chip small,
#zt-smart-concierge .ztsc-channel small,
#zt-smart-concierge .ztsc-route-card > p,
#zt-smart-concierge .ztsc-route-note p,
#zt-smart-concierge .ztsc-field > span,
#zt-smart-concierge input,
#zt-smart-concierge select,
#zt-smart-concierge textarea,
#zt-smart-concierge .ztsc-consent span { font-size: 13px !important; }
#zt-smart-concierge .ztsc-choice strong,
#zt-smart-concierge .ztsc-chip strong,
#zt-smart-concierge .ztsc-channel strong,
#zt-smart-concierge .ztsc-service-accordion summary strong,
#zt-smart-concierge .ztsc-side-capabilities strong { font-size: 14px !important; }
#zt-smart-concierge .ztsc-btn { font-size: 13px !important; letter-spacing: .055em; }
#zt-smart-concierge .ztsc-mini-btn { font-size: 12px !important; font-weight: 850; }

/* Compact but breathable layout */
#zt-smart-concierge .ztsc-dialog {
  width: min(1120px, calc(100% + var(--ztsc-overlay-padding) + var(--ztsc-overlay-padding) - clamp(16px, 3vw, 34px)));
  height: min(790px, calc(100vh - clamp(16px, 3vw, 34px)));
  height: min(790px, calc(100dvh - clamp(16px, 3vw, 34px)));
  grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
}
#zt-smart-concierge .ztsc-side { padding: clamp(20px, 2.3vw, 30px); }
#zt-smart-concierge .ztsc-brand { margin-bottom: clamp(20px, 3vh, 30px); }
#zt-smart-concierge .ztsc-side h2 { margin: 10px 0 12px; font-size: clamp(28px, 3vw, 38px); }
#zt-smart-concierge .ztsc-side > p { line-height: 1.6; }
#zt-smart-concierge .ztsc-side-capabilities { margin-top: 18px; gap: 7px; }
#zt-smart-concierge .ztsc-side-capabilities span { padding: 9px; gap: 8px; }
#zt-smart-concierge .ztsc-side-note { margin-top: 18px; padding-top: 13px; }
#zt-smart-concierge .ztsc-topbar { min-height: 64px; padding-block: 10px; }
#zt-smart-concierge .ztsc-content { padding: clamp(22px, 3vw, 34px); }
#zt-smart-concierge .ztsc-heading { margin: 8px 0 10px; font-size: clamp(29px, 3.8vw, 44px); }
#zt-smart-concierge .ztsc-lead { margin-bottom: 17px; line-height: 1.6; }
#zt-smart-concierge .ztsc-capability-strip { margin: 15px 0 11px; gap: 7px; }
#zt-smart-concierge .ztsc-capability-strip > span { min-height: 84px; padding: 10px; }
#zt-smart-concierge .ztsc-actions { margin-top: 15px; gap: 9px; }
#zt-smart-concierge .ztsc-choice-grid { gap: 9px; }
#zt-smart-concierge .ztsc-choice { min-height: 82px; padding: 11px 12px; }
#zt-smart-concierge .ztsc-chip-grid { gap: 8px; }
#zt-smart-concierge .ztsc-chip { min-height: 68px; padding: 10px 11px; }
#zt-smart-concierge .ztsc-subhead { margin: 15px 0 8px; }
#zt-smart-concierge .ztsc-subhead--spaced { margin-top: 18px; }
#zt-smart-concierge .ztsc-context-grid { gap: 8px; }
#zt-smart-concierge .ztsc-field input,
#zt-smart-concierge .ztsc-field select,
#zt-smart-concierge .ztsc-field textarea { min-height: 46px; padding: 10px 12px; }
#zt-smart-concierge .ztsc-field textarea { min-height: 78px; }
#zt-smart-concierge .ztsc-route-card { padding: clamp(18px, 2.8vw, 26px); }
#zt-smart-concierge .ztsc-route-card ul { margin-block: 13px; gap: 7px; }
#zt-smart-concierge .ztsc-route-note { margin-top: 11px; padding: 11px 13px; }
#zt-smart-concierge .ztsc-contact-grid { gap: 8px; }
#zt-smart-concierge .ztsc-review { margin-top: 11px; }
#zt-smart-concierge .ztsc-service-accordion { gap: 8px; }
#zt-smart-concierge .ztsc-service-accordion summary { padding: 12px 13px; }
#zt-smart-concierge .ztsc-accordion-body { padding: 12px 13px; }
#zt-smart-concierge .ztsc-final-card { margin-top: 13px; padding: 15px 16px; }

/* CSS-only flat icon base */
#zt-smart-concierge .ztsc-flat-icon {
  --icon: var(--ztsc-gold-2);
  position: relative;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: inline-block;
  color: var(--icon);
  background: linear-gradient(145deg, rgba(237,177,38,.11), rgba(255,255,255,.025));
  border: 1px solid rgba(237,177,38,.34);
  clip-path: var(--ztsc-cut-small);
}
#zt-smart-concierge .ztsc-flat-icon--mini { width: 28px; height: 28px; flex-basis: 28px; }
#zt-smart-concierge .ztsc-flat-icon--micro { width: 20px; height: 20px; flex-basis: 20px; border: 0; background: transparent; clip-path: none; }
#zt-smart-concierge .ztsc-flat-icon::before,
#zt-smart-concierge .ztsc-flat-icon::after { content:""; position:absolute; box-sizing:border-box; }

/* Browser / web */
#zt-smart-concierge .ztsc-flat-icon[data-icon="web"]::before {
  left: 6px; right: 6px; top: 8px; bottom: 7px; border: 2px solid currentColor;
}
#zt-smart-concierge .ztsc-flat-icon[data-icon="web"]::after {
  left: 8px; right: 8px; top: 12px; height: 2px; background: currentColor;
  box-shadow: 0 4px 0 -0.5px rgba(245,205,104,.62);
}
/* Pencil / graphic design */
#zt-smart-concierge .ztsc-flat-icon[data-icon="design"]::before {
  width: 20px; height: 6px; left: 7px; top: 14px; background: currentColor;
  transform: rotate(-42deg); clip-path: polygon(0 0,82% 0,100% 50%,82% 100%,0 100%,10% 50%);
}
#zt-smart-concierge .ztsc-flat-icon[data-icon="design"]::after {
  width: 12px; height: 2px; left: 10px; bottom: 7px; background: currentColor;
}
/* Video */
#zt-smart-concierge .ztsc-flat-icon[data-icon="video"]::before {
  left: 6px; right: 6px; top: 8px; bottom: 8px; border: 2px solid currentColor;
}
#zt-smart-concierge .ztsc-flat-icon[data-icon="video"]::after {
  left: 14px; top: 12px; width: 0; height: 0; border-top: 5px solid transparent;
  border-bottom: 5px solid transparent; border-left: 8px solid currentColor;
}
/* Search */
#zt-smart-concierge .ztsc-flat-icon[data-icon="search"]::before {
  width: 14px; height: 14px; left: 7px; top: 7px; border: 2px solid currentColor; border-radius: 50%;
}
#zt-smart-concierge .ztsc-flat-icon[data-icon="search"]::after {
  width: 9px; height: 2px; left: 19px; top: 21px; background: currentColor; transform: rotate(45deg); transform-origin:left center;
}
/* Social/chat */
#zt-smart-concierge .ztsc-flat-icon[data-icon="social"]::before {
  left: 6px; right: 6px; top: 7px; bottom: 10px; border: 2px solid currentColor;
}
#zt-smart-concierge .ztsc-flat-icon[data-icon="social"]::after {
  width: 8px; height: 8px; left: 9px; bottom: 6px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: skewY(-35deg);
}
/* Target */
#zt-smart-concierge .ztsc-flat-icon[data-icon="target"]::before {
  width: 18px; height: 18px; left: 8px; top: 8px; border: 2px solid currentColor; border-radius:50%; box-shadow: inset 0 0 0 4px rgba(237,177,38,.12);
}
#zt-smart-concierge .ztsc-flat-icon[data-icon="target"]::after {
  width: 5px; height: 5px; left: 15px; top: 15px; background: currentColor; border-radius:50%;
}
/* Guide / connected */
#zt-smart-concierge .ztsc-flat-icon[data-icon="guide"]::before {
  width: 16px; height: 18px; left: 9px; top: 7px; border: 2px solid currentColor;
}
#zt-smart-concierge .ztsc-flat-icon[data-icon="guide"]::after {
  width: 8px; height: 2px; left: 13px; top: 12px; background: currentColor; box-shadow: 0 5px 0 currentColor, 0 10px 0 currentColor;
}
/* Brief/document */
#zt-smart-concierge .ztsc-flat-icon[data-icon="brief"]::before {
  width: 16px; height: 19px; left: 9px; top: 7px; border: 2px solid currentColor; clip-path: polygon(0 0,72% 0,100% 28%,100% 100%,0 100%);
}
#zt-smart-concierge .ztsc-flat-icon[data-icon="brief"]::after {
  width: 8px; height: 2px; left: 13px; top: 15px; background: currentColor; box-shadow: 0 5px 0 currentColor;
}
/* Send */
#zt-smart-concierge .ztsc-flat-icon[data-icon="send"]::before {
  width: 19px; height: 2px; left: 7px; top: 17px; background: currentColor; transform: rotate(-32deg);
}
#zt-smart-concierge .ztsc-flat-icon[data-icon="send"]::after {
  width: 10px; height: 10px; right: 7px; top: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor;
}
/* Mail */
#zt-smart-concierge .ztsc-flat-icon[data-icon="mail"]::before {
  left: 6px; right: 6px; top: 9px; bottom: 9px; border: 2px solid currentColor;
  background: linear-gradient(34deg, transparent 48%, currentColor 49%, currentColor 52%, transparent 53%), linear-gradient(-34deg, transparent 48%, currentColor 49%, currentColor 52%, transparent 53%);
}
/* Download */
#zt-smart-concierge .ztsc-flat-icon[data-icon="download"]::before {
  width: 2px; height: 10px; left: 9px; top: 3px; background: currentColor;
}
#zt-smart-concierge .ztsc-flat-icon[data-icon="download"]::after {
  width: 10px; height: 10px; left: 5px; top: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg);
}
/* Copy */
#zt-smart-concierge .ztsc-flat-icon[data-icon="copy"]::before {
  width: 11px; height: 12px; left: 4px; top: 5px; border: 1.8px solid currentColor;
}
#zt-smart-concierge .ztsc-flat-icon[data-icon="copy"]::after {
  width: 11px; height: 12px; left: 7px; top: 2px; border: 1.8px solid currentColor; background: var(--ztsc-panel);
}

/* CSS-only action glyphs */
#zt-smart-concierge .ztsc-glyph { position:relative; width:18px; height:18px; flex:0 0 18px; display:inline-block; }
#zt-smart-concierge .ztsc-glyph::before,
#zt-smart-concierge .ztsc-glyph::after { content:""; position:absolute; box-sizing:border-box; }
#zt-smart-concierge .ztsc-glyph--arrow::before { width:13px; height:2px; left:2px; top:9px; background:currentColor; transform:rotate(-45deg); }
#zt-smart-concierge .ztsc-glyph--arrow::after { width:8px; height:8px; right:1px; top:2px; border-top:2px solid currentColor; border-right:2px solid currentColor; }
#zt-smart-concierge .ztsc-glyph--back::before { width:15px; height:2px; left:2px; top:8px; background:currentColor; }
#zt-smart-concierge .ztsc-glyph--back::after { width:8px; height:8px; left:2px; top:5px; border-left:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
#zt-smart-concierge .ztsc-glyph--close::before,
#zt-smart-concierge .ztsc-glyph--close::after { width:16px; height:2px; left:1px; top:8px; background:currentColor; }
#zt-smart-concierge .ztsc-glyph--close::before { transform:rotate(45deg); }
#zt-smart-concierge .ztsc-glyph--close::after { transform:rotate(-45deg); }

/* Intro journey rail */
#zt-smart-concierge .ztsc-journey-rail {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin:0 0 11px;
}
#zt-smart-concierge .ztsc-journey-rail > span {
  min-width:0; display:grid; grid-template-columns:28px minmax(0,1fr); column-gap:7px; align-items:center;
  padding:8px 9px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.018);
}
#zt-smart-concierge .ztsc-journey-rail .ztsc-flat-icon { grid-row:1 / span 2; }
#zt-smart-concierge .ztsc-journey-rail strong { font-size:12px; line-height:1.15; }
#zt-smart-concierge .ztsc-journey-rail small { color:var(--ztsc-muted); font-size:11px; line-height:1.2; }

/* Icon-enhanced choices */
#zt-smart-concierge .ztsc-choice {
  grid-template-columns:30px 34px minmax(0,1fr) 18px !important;
  align-items:center;
}
#zt-smart-concierge .ztsc-choice-index {
  width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--ztsc-line); color:var(--ztsc-gold-2); font-size:11px !important;
}
#zt-smart-concierge .ztsc-choice > .ztsc-glyph { justify-self:end; }
#zt-smart-concierge .ztsc-choice:hover .ztsc-flat-icon,
#zt-smart-concierge .ztsc-choice.is-selected .ztsc-flat-icon,
#zt-smart-concierge .ztsc-channel:hover .ztsc-flat-icon,
#zt-smart-concierge .ztsc-channel.is-selected .ztsc-flat-icon {
  --icon:#151006; color:#151006; border-color:rgba(21,16,6,.32); background:rgba(255,255,255,.22);
}

/* Dynamic quiz chips */
#zt-smart-concierge .ztsc-chip { grid-template-columns:34px minmax(0,1fr) 26px !important; align-items:center; }
#zt-smart-concierge .ztsc-chip-mark {
  position:relative; width:26px; height:26px; display:block; border:1px solid var(--ztsc-ice-line); background:rgba(255,255,255,.035);
}
#zt-smart-concierge .ztsc-chip-mark::before,
#zt-smart-concierge .ztsc-chip-mark::after { content:""; position:absolute; background:currentColor; left:50%; top:50%; transform:translate(-50%,-50%); }
#zt-smart-concierge .ztsc-chip-mark::before { width:10px; height:2px; }
#zt-smart-concierge .ztsc-chip-mark::after { width:2px; height:10px; }
#zt-smart-concierge .ztsc-chip.is-selected .ztsc-chip-mark::before { width:11px; height:6px; background:transparent; border-left:2px solid currentColor; border-bottom:2px solid currentColor; transform:translate(-50%,-62%) rotate(-45deg); }
#zt-smart-concierge .ztsc-chip.is-selected .ztsc-chip-mark::after { display:none; }
#zt-smart-concierge .ztsc-chip.is-selected .ztsc-flat-icon { --icon:#151006; color:#151006; border-color:rgba(21,16,6,.30); background:rgba(255,255,255,.22); }

/* Details disclosure without text glyphs */
#zt-smart-concierge .ztsc-disclosure { position:relative; width:24px; height:24px; flex:0 0 24px; }
#zt-smart-concierge .ztsc-disclosure::before,
#zt-smart-concierge .ztsc-disclosure::after { content:""; position:absolute; left:6px; top:11px; width:12px; height:2px; background:currentColor; }
#zt-smart-concierge .ztsc-disclosure::after { transform:rotate(90deg); transition:transform .18s ease; }
#zt-smart-concierge details[open] > summary .ztsc-disclosure::after { transform:rotate(0deg); }
#zt-smart-concierge .ztsc-optional-panel summary { display:flex; align-items:center; justify-content:space-between; gap:10px; }
#zt-smart-concierge .ztsc-summary-title { display:flex; align-items:center; gap:9px; font-size:14px; font-weight:800; }

/* Recommendation intelligence */
#zt-smart-concierge .ztsc-route-intelligence {
  display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:12px 0 4px;
}
#zt-smart-concierge .ztsc-readiness {
  grid-column:1 / -1; padding:10px 11px; border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.022);
}
#zt-smart-concierge .ztsc-readiness > div:first-child { display:flex; justify-content:space-between; gap:10px; align-items:center; }
#zt-smart-concierge .ztsc-readiness span,
#zt-smart-concierge .ztsc-route-insight span,
#zt-smart-concierge .ztsc-route-boundary span { color:var(--ztsc-gold-2); font-size:11px; font-weight:900; letter-spacing:.08em; }
#zt-smart-concierge .ztsc-readiness strong,
#zt-smart-concierge .ztsc-route-insight strong,
#zt-smart-concierge .ztsc-route-boundary strong { font-size:13px; line-height:1.45; }
#zt-smart-concierge .ztsc-readiness-track { height:5px; margin-top:8px; overflow:hidden; background:rgba(255,255,255,.07); }
#zt-smart-concierge .ztsc-readiness-track > span { display:block; width:100%; height:100%; transform:scaleX(.55); transform-origin:left center; background:linear-gradient(90deg,#8a5d13,var(--ztsc-gold),var(--ztsc-gold-2)); transition:transform .25s ease; }
#zt-smart-concierge .ztsc-route-insight,
#zt-smart-concierge .ztsc-route-boundary { min-width:0; display:grid; grid-template-columns:28px minmax(0,1fr); gap:9px; padding:10px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.018); }
#zt-smart-concierge .ztsc-route-insight > div,
#zt-smart-concierge .ztsc-route-boundary > div { display:grid; gap:3px; }

/* Contact confidence rail */
#zt-smart-concierge .ztsc-contact-trust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:0 0 11px; }
#zt-smart-concierge .ztsc-contact-trust > span { display:flex; align-items:center; gap:8px; min-width:0; padding:8px 9px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.018); }
#zt-smart-concierge .ztsc-contact-trust strong { font-size:12px; line-height:1.25; }
#zt-smart-concierge .ztsc-channel { grid-template-columns:34px minmax(0,1fr) 18px !important; align-items:center; }

/* Resource accordion icons */
#zt-smart-concierge .ztsc-service-accordion summary > span:first-child { grid-template-columns:34px minmax(0,1fr) !important; }
#zt-smart-concierge .ztsc-service-accordion summary > span:first-child .ztsc-flat-icon { grid-row:span 2; }
#zt-smart-concierge .ztsc-service-accordion summary > i { display:none !important; }
#zt-smart-concierge .ztsc-final-card { grid-template-columns:34px minmax(0,1fr) auto; }

/* Preserve dark launcher so the gold logo stays readable */
#zt-smart-concierge .ztsc-launcher {
  background: linear-gradient(145deg,#181713 0%,#090908 54%,#020202 100%) !important;
  border-color: rgba(237,177,38,.58) !important;
}
#zt-smart-concierge .ztsc-launcher-core { background:#050505 !important; }

@media (max-width: 820px) {
  #zt-smart-concierge .ztsc-content { padding:20px 18px max(28px,env(safe-area-inset-bottom)); }
  #zt-smart-concierge .ztsc-journey-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  #zt-smart-concierge .ztsc-content { padding:18px 13px max(30px,env(safe-area-inset-bottom)); }
  #zt-smart-concierge .ztsc-heading { font-size:clamp(27px,8.5vw,36px); }
  #zt-smart-concierge .ztsc-lead { font-size:13px !important; }
  #zt-smart-concierge .ztsc-capability-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #zt-smart-concierge .ztsc-capability-strip > span { min-height:78px; }
  #zt-smart-concierge .ztsc-choice { grid-template-columns:28px 32px minmax(0,1fr) 18px !important; padding:10px; }
  #zt-smart-concierge .ztsc-route-intelligence,
  #zt-smart-concierge .ztsc-contact-trust { grid-template-columns:minmax(0,1fr); }
  #zt-smart-concierge .ztsc-readiness { grid-column:auto; }
  #zt-smart-concierge .ztsc-final-card { grid-template-columns:34px minmax(0,1fr); }
  #zt-smart-concierge .ztsc-final-card .ztsc-btn { grid-column:1 / -1; }
}
@media (max-width: 390px) {
  #zt-smart-concierge .ztsc-capability-strip { grid-template-columns:minmax(0,1fr); }
  #zt-smart-concierge .ztsc-capability-strip > span { min-height:66px; grid-template-columns:34px minmax(0,1fr); column-gap:8px; align-items:center; }
  #zt-smart-concierge .ztsc-capability-strip .ztsc-flat-icon { grid-row:span 2; }
  #zt-smart-concierge .ztsc-journey-rail { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  #zt-smart-concierge .ztsc-choice { grid-template-columns:32px minmax(0,1fr) 18px !important; }
  #zt-smart-concierge .ztsc-choice-index { display:none; }
  #zt-smart-concierge .ztsc-choice > .ztsc-glyph { display:block; }
  #zt-smart-concierge .ztsc-btn { font-size:12.5px !important; }
}

/* ============================================================
   V11.1 — OVERFLOW-SAFE CARDS + LOCKED FLAT ARROWS
   Fixes: wrapped copy, zero text escape, stable arrow heads,
   cleaner responsive card geometry.
============================================================ */

/* 1) Hard containment: no interactive content may paint outside its own frame. */
#zt-smart-concierge :where(
  .ztsc-btn,
  .ztsc-mini-btn,
  .ztsc-icon-btn,
  .ztsc-choice,
  .ztsc-chip,
  .ztsc-channel,
  .ztsc-skip-link,
  .ztsc-service-accordion summary
) {
  width: auto;
  max-width: 100%;
  min-width: 0;
  overflow: hidden !important;
  isolation: isolate;
  white-space: normal !important;
}

#zt-smart-concierge :where(
  .ztsc-choice-grid,
  .ztsc-chip-grid,
  .ztsc-channel-switch,
  .ztsc-route-actions,
  .ztsc-actions
) {
  min-width: 0;
  max-width: 100%;
}

/* 2) Copy containers must own a real grid column and be allowed to shrink. */
#zt-smart-concierge .ztsc-choice-copy,
#zt-smart-concierge .ztsc-chip-copy,
#zt-smart-concierge .ztsc-channel-copy {
  min-width: 0 !important;
  max-width: 100%;
  overflow: hidden;
  display: grid !important;
  align-content: center;
  gap: 4px;
  white-space: normal !important;
}

/* Backward compatibility if cached HTML/JS briefly serves the old markup. */
#zt-smart-concierge .ztsc-choice > span:nth-child(3):not(.ztsc-glyph),
#zt-smart-concierge .ztsc-chip > span:nth-child(2):not(.ztsc-chip-mark) {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  display: grid;
  align-content: center;
  gap: 4px;
  white-space: normal !important;
}

#zt-smart-concierge :where(
  .ztsc-choice-copy,
  .ztsc-chip-copy,
  .ztsc-channel-copy,
  .ztsc-choice > span:nth-child(3),
  .ztsc-chip > span:nth-child(2)
) > :where(strong, small, span) {
  min-width: 0;
  max-width: 100%;
  margin: 0;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
  text-overflow: clip;
}

#zt-smart-concierge .ztsc-choice-copy strong,
#zt-smart-concierge .ztsc-chip-copy strong,
#zt-smart-concierge .ztsc-channel-copy strong {
  display: block;
  line-height: 1.28;
}

#zt-smart-concierge .ztsc-choice-copy small,
#zt-smart-concierge .ztsc-chip-copy small,
#zt-smart-concierge .ztsc-channel-copy small {
  display: block;
  line-height: 1.42;
}

/* 3) Main quiz cards: predictable columns, no collision with the right-side action glyph. */
#zt-smart-concierge .ztsc-choice {
  grid-template-columns: 28px 34px minmax(0, 1fr) 20px !important;
  column-gap: 10px;
  row-gap: 0;
  align-items: center !important;
  min-height: 86px;
  height: auto;
  padding: 12px 13px !important;
}

#zt-smart-concierge .ztsc-choice-index,
#zt-smart-concierge .ztsc-choice > .ztsc-flat-icon,
#zt-smart-concierge .ztsc-choice > .ztsc-glyph {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
}

#zt-smart-concierge .ztsc-choice > .ztsc-glyph {
  justify-self: end;
  align-self: center;
  margin: 0;
}

/* 4) Dynamic quiz chips: the exact bug shown in the screenshot. */
#zt-smart-concierge .ztsc-chip {
  grid-template-columns: 34px minmax(0, 1fr) 28px !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 82px;
  height: auto;
  padding: 11px 12px !important;
}

#zt-smart-concierge .ztsc-chip-grid--compact .ztsc-chip {
  min-height: 54px;
}

#zt-smart-concierge .ztsc-chip-mark {
  position: relative;
  justify-self: end;
  align-self: center;
  width: 27px !important;
  height: 27px !important;
  min-width: 27px;
  overflow: hidden;
}

#zt-smart-concierge .ztsc-chip-mark::before,
#zt-smart-concierge .ztsc-chip-mark::after {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  transform-origin: 50% 50% !important;
}

#zt-smart-concierge .ztsc-chip-mark::before {
  width: 10px !important;
  height: 2px !important;
}

#zt-smart-concierge .ztsc-chip-mark::after {
  width: 2px !important;
  height: 10px !important;
}

#zt-smart-concierge .ztsc-chip.is-selected .ztsc-chip-mark::before {
  width: 11px !important;
  height: 6px !important;
  left: 50% !important;
  top: 46% !important;
  background: transparent !important;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}

/* 5) Locked CSS flat-arrow geometry.
   Build a normal right-arrow first, then rotate the WHOLE glyph to NE.
   Shaft and head therefore cannot drift apart at any breakpoint. */
#zt-smart-concierge .ztsc-glyph--arrow {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  flex: 0 0 18px !important;
  display: inline-block !important;
  position: relative !important;
  transform: rotate(-45deg) !important;
  transform-origin: 50% 50% !important;
  overflow: visible !important;
}

#zt-smart-concierge .ztsc-glyph--arrow::before {
  content: "" !important;
  position: absolute !important;
  left: 2px !important;
  top: 8px !important;
  width: 13px !important;
  height: 2px !important;
  border: 0 !important;
  background: currentColor !important;
  transform: none !important;
  transform-origin: 50% 50% !important;
}

#zt-smart-concierge .ztsc-glyph--arrow::after {
  content: "" !important;
  position: absolute !important;
  right: 2px !important;
  top: 4px !important;
  width: 8px !important;
  height: 8px !important;
  border: 0 !important;
  border-top: 2px solid currentColor !important;
  border-right: 2px solid currentColor !important;
  background: transparent !important;
  transform: none !important;
  transform-origin: 50% 50% !important;
}

#zt-smart-concierge :where(
  .ztsc-choice:hover,
  .ztsc-choice.is-selected,
  .ztsc-channel:hover,
  .ztsc-channel.is-selected,
  .ztsc-btn--primary
) .ztsc-glyph--arrow {
  color: #151006 !important;
}

/* 6) Keep button labels and glyphs separated even when labels wrap. */
#zt-smart-concierge .ztsc-btn,
#zt-smart-concierge .ztsc-mini-btn {
  min-width: 0;
  max-width: 100%;
  height: auto;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

#zt-smart-concierge .ztsc-btn > .ztsc-glyph,
#zt-smart-concierge .ztsc-mini-btn > .ztsc-glyph {
  flex: 0 0 18px;
  margin-left: 2px;
}

/* 7) Responsive refinement based on actual card pressure, not just phone width. */
@media (max-width: 760px) {
  #zt-smart-concierge .ztsc-choice,
  #zt-smart-concierge .ztsc-chip {
    min-height: 0;
  }
}

@media (max-width: 560px) {
  #zt-smart-concierge .ztsc-choice-grid,
  #zt-smart-concierge .ztsc-chip-grid,
  #zt-smart-concierge .ztsc-chip-grid--compact {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #zt-smart-concierge .ztsc-choice {
    grid-template-columns: 32px minmax(0,1fr) 18px !important;
  }

  #zt-smart-concierge .ztsc-choice-index {
    display: none !important;
  }

  #zt-smart-concierge .ztsc-choice > .ztsc-flat-icon {
    grid-column: 1;
  }

  #zt-smart-concierge .ztsc-choice-copy {
    grid-column: 2;
  }

  #zt-smart-concierge .ztsc-choice > .ztsc-glyph {
    grid-column: 3;
  }
}

@media (max-width: 360px) {
  #zt-smart-concierge .ztsc-choice,
  #zt-smart-concierge .ztsc-chip {
    column-gap: 8px !important;
    padding: 10px !important;
  }

  #zt-smart-concierge .ztsc-choice-copy small,
  #zt-smart-concierge .ztsc-chip-copy small,
  #zt-smart-concierge .ztsc-channel-copy small {
    font-size: 12.5px !important;
    line-height: 1.38;
  }
}

/* ============================================================
   V11.2 — SINGLE-SHAPE FLAT ARROW
   Replaces the old multi-piece arrow with one solid CSS shape.
   No SVG, no icon font, no external asset, no drifting arrow head.
============================================================ */

/* Kill every older pseudo-element implementation. */
#zt-smart-concierge .ztsc-glyph--arrow::before,
#zt-smart-concierge .ztsc-glyph--arrow::after {
  content: none !important;
  display: none !important;
}

/* One-piece north-east arrow: shaft + head are a single polygon. */
#zt-smart-concierge .ztsc-glyph--arrow {
  --ztsc-arrow-size: 17px;

  position: relative !important;
  display: inline-block !important;
  width: var(--ztsc-arrow-size) !important;
  height: var(--ztsc-arrow-size) !important;
  min-width: var(--ztsc-arrow-size) !important;
  min-height: var(--ztsc-arrow-size) !important;
  flex: 0 0 var(--ztsc-arrow-size) !important;

  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;

  color: currentColor;
  background: currentColor !important;

  /* Direct NE geometry — no rotate(), so browser rounding cannot split the icon. */
  -webkit-clip-path: polygon(
    5.9% 76.5%,
    23.5% 94.1%,
    64.7% 52.9%,
    64.7% 70.6%,
    82.4% 70.6%,
    82.4% 11.8%,
    29.4% 11.8%,
    29.4% 29.4%,
    47.1% 29.4%
  ) !important;
  clip-path: polygon(
    5.9% 76.5%,
    23.5% 94.1%,
    64.7% 52.9%,
    64.7% 70.6%,
    82.4% 70.6%,
    82.4% 11.8%,
    29.4% 11.8%,
    29.4% 29.4%,
    47.1% 29.4%
  ) !important;

  transform: none !important;
  transform-origin: center !important;
  overflow: hidden !important;
  line-height: 0 !important;
  vertical-align: middle !important;
  align-self: center !important;
  justify-self: center !important;

  pointer-events: none !important;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Keep arrow optically separated from button copy. */
#zt-smart-concierge .ztsc-btn > .ztsc-glyph--arrow,
#zt-smart-concierge .ztsc-mini-btn > .ztsc-glyph--arrow {
  margin-inline-start: 8px !important;
  margin-inline-end: 0 !important;
}

/* Choice/channel arrows live in their own final grid column. */
#zt-smart-concierge .ztsc-choice > .ztsc-glyph--arrow,
#zt-smart-concierge .ztsc-channel > .ztsc-glyph--arrow {
  margin: 0 !important;
  justify-self: end !important;
}

/* Slightly stronger icon on the main gold CTA; still one single shape. */
#zt-smart-concierge .ztsc-btn--primary > .ztsc-glyph--arrow {
  --ztsc-arrow-size: 18px;
}

/* Consistent dark arrow on gold/selected states. */
#zt-smart-concierge :where(
  .ztsc-btn--primary,
  .ztsc-choice:hover,
  .ztsc-choice.is-selected,
  .ztsc-channel:hover,
  .ztsc-channel.is-selected
) .ztsc-glyph--arrow {
  color: #151006 !important;
  background: #151006 !important;
}

/* Light arrow on dark / glass controls. */
#zt-smart-concierge :where(
  .ztsc-btn:not(.ztsc-btn--primary),
  .ztsc-mini-btn,
  .ztsc-choice:not(:hover):not(.is-selected),
  .ztsc-channel:not(:hover):not(.is-selected)
) .ztsc-glyph--arrow {
  color: #fff4d2 !important;
  background: #fff4d2 !important;
}

/* Mobile: keep the icon crisp instead of shrinking it with text. */
@media (max-width: 560px) {
  #zt-smart-concierge .ztsc-glyph--arrow {
    --ztsc-arrow-size: 16px;
  }

  #zt-smart-concierge .ztsc-btn--primary > .ztsc-glyph--arrow {
    --ztsc-arrow-size: 17px;
  }
}

/* ============================================================
   V12 — PROFESSIONAL NAVIGATION + STABLE FLAT ICON SYSTEM
   - all action arrows are one-piece shapes
   - send/download icons scale safely at mini/micro sizes
   - compact step navigation, live snapshot, smart scope tools
   - stronger responsive containment and readable typography
============================================================ */

/* 01 — Main layout now contains topbar + step nav + live strip + scrollable content. */
#zt-smart-concierge .ztsc-main {
  grid-template-rows: auto auto auto minmax(0,1fr) !important;
}

/* 02 — Back button: visible label on larger screens, stable single-piece left arrow. */
#zt-smart-concierge .ztsc-topbar {
  grid-template-columns: minmax(78px,auto) minmax(0,1fr) 42px !important;
}

#zt-smart-concierge .ztsc-back-btn {
  min-width: 78px;
  height: 40px;
  padding: 0 11px 0 9px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--ztsc-text);
  font: inherit !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
  white-space: nowrap;
  overflow: hidden;
}

#zt-smart-concierge .ztsc-back-btn[hidden] {
  visibility: hidden;
  display: inline-flex !important;
  pointer-events: none;
}

#zt-smart-concierge .ztsc-back-label {
  display: inline-block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 03 — One-piece action arrows. No separate shaft/head, no transforms. */
#zt-smart-concierge .ztsc-glyph--arrow,
#zt-smart-concierge .ztsc-glyph--back {
  position: relative !important;
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  min-height: 17px !important;
  flex: 0 0 17px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: currentColor !important;
  transform: none !important;
  overflow: hidden !important;
  line-height: 0 !important;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

#zt-smart-concierge .ztsc-glyph--arrow::before,
#zt-smart-concierge .ztsc-glyph--arrow::after,
#zt-smart-concierge .ztsc-glyph--back::before,
#zt-smart-concierge .ztsc-glyph--back::after {
  content: none !important;
  display: none !important;
}

/* clean, horizontal right arrow */
#zt-smart-concierge .ztsc-glyph--arrow {
  -webkit-clip-path: polygon(0 38%, 61% 38%, 61% 14%, 100% 50%, 61% 86%, 61% 62%, 0 62%) !important;
  clip-path: polygon(0 38%, 61% 38%, 61% 14%, 100% 50%, 61% 86%, 61% 62%, 0 62%) !important;
}

/* clean, horizontal left arrow */
#zt-smart-concierge .ztsc-glyph--back {
  -webkit-clip-path: polygon(100% 38%, 39% 38%, 39% 14%, 0 50%, 39% 86%, 39% 62%, 100% 62%) !important;
  clip-path: polygon(100% 38%, 39% 38%, 39% 14%, 0 50%, 39% 86%, 39% 62%, 100% 62%) !important;
}

#zt-smart-concierge :where(
  .ztsc-btn--primary,
  .ztsc-choice.is-selected,
  .ztsc-channel.is-selected
) .ztsc-glyph--arrow {
  color: #151006 !important;
  background: #151006 !important;
}

#zt-smart-concierge :where(
  .ztsc-btn--glass,
  .ztsc-mini-btn,
  .ztsc-choice:not(.is-selected),
  .ztsc-channel:not(.is-selected)
) .ztsc-glyph--arrow,
#zt-smart-concierge .ztsc-back-btn .ztsc-glyph--back {
  color: currentColor !important;
  background: currentColor !important;
}

/* 04 — Rebuild every arrow-like FLAT icon so it scales at 34/28/20 px. */
#zt-smart-concierge .ztsc-flat-icon[data-icon="send"]::before {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset: 18% 15% 16% 16% !important;
  width:auto !important;
  height:auto !important;
  background: currentColor !important;
  border:0 !important;
  transform:none !important;
  box-shadow:none !important;
  -webkit-clip-path: polygon(4% 43%, 96% 5%, 69% 95%, 51% 60%, 27% 73%, 35% 53%) !important;
  clip-path: polygon(4% 43%, 96% 5%, 69% 95%, 51% 60%, 27% 73%, 35% 53%) !important;
}
#zt-smart-concierge .ztsc-flat-icon[data-icon="send"]::after {
  content:none !important;
  display:none !important;
}

#zt-smart-concierge .ztsc-flat-icon[data-icon="download"]::before {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left: 29% !important;
  top: 14% !important;
  width: 42% !important;
  height: 53% !important;
  background: currentColor !important;
  border:0 !important;
  transform:none !important;
  box-shadow:none !important;
  -webkit-clip-path: polygon(38% 0, 62% 0, 62% 47%, 100% 47%, 50% 100%, 0 47%, 38% 47%) !important;
  clip-path: polygon(38% 0, 62% 0, 62% 47%, 100% 47%, 50% 100%, 0 47%, 38% 47%) !important;
}
#zt-smart-concierge .ztsc-flat-icon[data-icon="download"]::after {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left: 22% !important;
  right: 22% !important;
  bottom: 17% !important;
  width:auto !important;
  height: 2px !important;
  background: currentColor !important;
  border:0 !important;
  transform:none !important;
  box-shadow:none !important;
}

/* 05 — Step navigator: compact, keyboard-friendly and only visited steps are clickable. */
#zt-smart-concierge .ztsc-step-nav {
  min-width:0;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:1px;
  padding:0 clamp(18px,3vw,30px) 10px;
  background:rgba(5,5,5,.94);
  border-bottom:1px solid rgba(255,255,255,.055);
  overflow:hidden;
}
#zt-smart-concierge .ztsc-step-nav button {
  min-width:0;
  min-height:34px;
  padding:7px 7px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:0;
  border-top:2px solid rgba(255,255,255,.07);
  color:rgba(255,250,240,.52);
  background:rgba(255,255,255,.012);
  font:inherit !important;
  cursor:pointer;
  overflow:hidden;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
#zt-smart-concierge .ztsc-step-nav button span {
  flex:0 0 auto;
  color:var(--ztsc-gold-2);
  font-size:10px;
  font-weight:900;
}
#zt-smart-concierge .ztsc-step-nav button b {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10.5px;
  font-weight:800;
}
#zt-smart-concierge .ztsc-step-nav button.is-current {
  color:#fffaf0;
  border-top-color:var(--ztsc-gold);
  background:rgba(237,177,38,.075);
}
#zt-smart-concierge .ztsc-step-nav button.is-complete {
  color:rgba(255,250,240,.78);
  border-top-color:rgba(237,177,38,.42);
}
#zt-smart-concierge .ztsc-step-nav button:disabled {
  cursor:default;
  opacity:.46;
}

/* 06 — Progress percentage + auto-save status. */
#zt-smart-concierge .ztsc-progress-right {
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
#zt-smart-concierge .ztsc-progress-right em {
  font-style:normal;
  color:rgba(255,250,240,.44);
  font-size:9px;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:none;
}
#zt-smart-concierge .ztsc-progress-right em.is-saved { color:#c9f6b8; }

/* 07 — Live project strip. */
#zt-smart-concierge .ztsc-live-strip {
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
  padding:8px clamp(18px,3vw,30px);
  border-bottom:1px solid rgba(237,177,38,.11);
  background:linear-gradient(90deg,rgba(237,177,38,.055),rgba(255,255,255,.015));
  color:var(--ztsc-muted);
  font-size:11px;
  overflow:hidden;
}
#zt-smart-concierge .ztsc-live-strip[hidden] { display:none !important; }
#zt-smart-concierge .ztsc-live-strip > span { min-width:0; }
#zt-smart-concierge .ztsc-live-strip > span:first-child {
  display:flex;
  align-items:center;
  gap:7px;
  overflow:hidden;
}
#zt-smart-concierge .ztsc-live-strip strong {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff4d2;
  font-size:11.5px;
}
#zt-smart-concierge .ztsc-live-strip b { color:var(--ztsc-gold-2); }

/* 08 — Page-aware suggestion with action. */
#zt-smart-concierge .ztsc-context-note {
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:10px !important;
}
#zt-smart-concierge .ztsc-context-note > div { min-width:0; display:grid; gap:3px; }
#zt-smart-concierge .ztsc-choice.is-suggested:not(.is-selected)::after {
  content:"SUGGESTED";
  position:absolute;
  top:7px;
  right:10px;
  padding:3px 6px;
  color:#151006;
  background:var(--ztsc-gold-2);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  z-index:2;
  clip-path:var(--ztsc-cut-small);
}

/* 09 — Scope helper tools + selection count. */
#zt-smart-concierge .ztsc-scope-tools {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin:0 0 9px;
}
#zt-smart-concierge .ztsc-selection-count {
  min-height:32px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:0 10px;
  color:var(--ztsc-muted);
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.018);
  font-size:11px;
  font-weight:700;
}
#zt-smart-concierge .ztsc-selection-count b { color:var(--ztsc-gold-2); font-size:12px; }

/* 10 — More context without visual bloat. */
#zt-smart-concierge .ztsc-context-grid {
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
#zt-smart-concierge .ztsc-char-count {
  justify-self:end;
  margin-top:3px;
  color:rgba(255,250,240,.42) !important;
  font-size:10px !important;
}
#zt-smart-concierge .ztsc-char-count b { color:var(--ztsc-gold-2); }

/* 11 — Route edit controls and reason card. */
#zt-smart-concierge .ztsc-route-editbar {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:12px 0 0;
}
#zt-smart-concierge .ztsc-route-reason {
  min-width:0;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:9px;
  padding:10px;
  border:1px solid rgba(237,177,38,.18);
  background:linear-gradient(90deg,rgba(237,177,38,.06),rgba(255,255,255,.012));
}
#zt-smart-concierge .ztsc-route-reason > div { min-width:0; display:grid; gap:3px; }
#zt-smart-concierge .ztsc-route-reason span,
#zt-smart-concierge .ztsc-route-insight span,
#zt-smart-concierge .ztsc-route-boundary span {
  color:var(--ztsc-gold-2);
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
}
#zt-smart-concierge .ztsc-route-reason strong,
#zt-smart-concierge .ztsc-route-insight strong,
#zt-smart-concierge .ztsc-route-boundary strong {
  overflow-wrap:anywhere;
  color:#fffaf0;
  font-size:12px;
  line-height:1.45;
}
#zt-smart-concierge .ztsc-route-insight ul {
  margin:7px 0 0;
  padding-left:16px;
  display:grid;
  gap:4px;
  color:var(--ztsc-muted);
  font-size:11px;
  line-height:1.45;
}

/* 12 — Review actions + exact outgoing message preview. */
#zt-smart-concierge .ztsc-review-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
}
#zt-smart-concierge .ztsc-message-preview {
  margin-top:10px;
  padding:10px;
  border:1px solid rgba(237,177,38,.18);
  background:#070706;
}
#zt-smart-concierge .ztsc-message-preview[hidden] { display:none !important; }
#zt-smart-concierge .ztsc-message-preview > span {
  display:block;
  margin-bottom:6px;
  color:var(--ztsc-gold-2);
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
}
#zt-smart-concierge .ztsc-message-preview pre {
  max-height:210px;
  margin:0;
  padding:9px;
  overflow:auto;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  color:#e9e3d6;
  background:rgba(255,255,255,.018);
  border:1px solid rgba(255,255,255,.06);
  font:inherit !important;
  font-size:11px !important;
  line-height:1.55 !important;
}
#zt-smart-concierge .ztsc-message-preview small {
  display:block;
  margin-top:6px;
  color:var(--ztsc-soft);
  font-size:10px;
  line-height:1.45;
}

/* 13 — Post-enquiry next-step timeline. */
#zt-smart-concierge .ztsc-next-timeline {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
}
#zt-smart-concierge .ztsc-next-timeline > span {
  min-width:0;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:8px;
  padding:10px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.018);
}
#zt-smart-concierge .ztsc-next-timeline b {
  grid-row:1 / 3;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#151006;
  background:var(--ztsc-gold-2);
  font-size:9px;
  font-weight:900;
  clip-path:var(--ztsc-cut-small);
}
#zt-smart-concierge .ztsc-next-timeline strong {
  min-width:0;
  overflow-wrap:anywhere;
  color:#fffaf0;
  font-size:11.5px;
  line-height:1.35;
}
#zt-smart-concierge .ztsc-next-timeline small {
  min-width:0;
  margin-top:3px;
  color:var(--ztsc-soft);
  font-size:10.5px;
  line-height:1.42;
}

/* 14 — Stronger containment everywhere. */
#zt-smart-concierge :where(
  .ztsc-choice,
  .ztsc-chip,
  .ztsc-channel,
  .ztsc-route-card,
  .ztsc-route-intelligence,
  .ztsc-contact-form,
  .ztsc-review,
  .ztsc-service-accordion,
  .ztsc-final-card,
  .ztsc-next-timeline,
  .ztsc-live-strip
),
#zt-smart-concierge :where(
  .ztsc-choice,
  .ztsc-chip,
  .ztsc-channel,
  .ztsc-route-card,
  .ztsc-contact-form,
  .ztsc-review,
  .ztsc-final-card
) * {
  min-width:0;
  max-width:100%;
}
#zt-smart-concierge :where(strong,small,p,span,label,button,a,li) {
  overflow-wrap:anywhere;
}

/* 15 — Accessibility helper. */
#zt-smart-concierge .ztsc-sr-only {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* 16 — Readability floor. */
#zt-smart-concierge .ztsc-lead,
#zt-smart-concierge .ztsc-choice-copy small,
#zt-smart-concierge .ztsc-chip-copy small,
#zt-smart-concierge .ztsc-channel-copy small,
#zt-smart-concierge .ztsc-field > span,
#zt-smart-concierge .ztsc-field input,
#zt-smart-concierge .ztsc-field select,
#zt-smart-concierge .ztsc-field textarea {
  font-size:max(12.5px, .78rem) !important;
}

/* 17 — Focus is intentionally visible. */
#zt-smart-concierge :where(button,a,input,select,textarea):focus-visible {
  outline:2px solid var(--ztsc-gold-2) !important;
  outline-offset:2px !important;
}

/* 18 — Compact mobile adaptation. */
@media (max-width: 820px) {
  #zt-smart-concierge .ztsc-main {
    grid-template-rows:auto auto auto minmax(0,1fr) !important;
  }
  #zt-smart-concierge .ztsc-context-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  #zt-smart-concierge .ztsc-step-nav { overflow-x:auto; grid-template-columns:repeat(6,minmax(88px,1fr)); scrollbar-width:none; }
  #zt-smart-concierge .ztsc-step-nav::-webkit-scrollbar { display:none; }
}

@media (max-width: 620px) {
  #zt-smart-concierge .ztsc-topbar {
    grid-template-columns:44px minmax(0,1fr) 40px !important;
    gap:8px !important;
    padding-inline:12px !important;
  }
  #zt-smart-concierge .ztsc-back-btn {
    min-width:40px;
    width:40px;
    padding:0 !important;
  }
  #zt-smart-concierge .ztsc-back-label { display:none; }
  #zt-smart-concierge .ztsc-progress-right em { display:none; }
  #zt-smart-concierge .ztsc-progress-right { gap:6px; }
  #zt-smart-concierge .ztsc-step-nav { padding-inline:10px; }
  #zt-smart-concierge .ztsc-live-strip {
    grid-template-columns:minmax(0,1fr) auto;
    padding-inline:12px;
  }
  #zt-smart-concierge .ztsc-live-strip > span:last-child { display:none; }
  #zt-smart-concierge .ztsc-context-grid { grid-template-columns:minmax(0,1fr) !important; }
  #zt-smart-concierge .ztsc-context-note { grid-template-columns:minmax(0,1fr) !important; }
  #zt-smart-concierge .ztsc-scope-tools { align-items:stretch; }
  #zt-smart-concierge .ztsc-scope-tools .ztsc-mini-btn { flex:1 1 135px; }
  #zt-smart-concierge .ztsc-next-timeline { grid-template-columns:minmax(0,1fr); }
  #zt-smart-concierge .ztsc-review-actions { justify-content:stretch; }
  #zt-smart-concierge .ztsc-review-actions .ztsc-mini-btn { flex:1 1 100px; }
}

@media (max-width: 390px) {
  #zt-smart-concierge .ztsc-step-nav { grid-template-columns:repeat(6,minmax(78px,1fr)); }
  #zt-smart-concierge .ztsc-step-nav button b { font-size:10px; }
  #zt-smart-concierge .ztsc-live-strip { font-size:10px; }
  #zt-smart-concierge .ztsc-glyph--arrow,
  #zt-smart-concierge .ztsc-glyph--back { width:15px !important; height:15px !important; min-width:15px !important; min-height:15px !important; flex-basis:15px !important; }
}

/* V12 back button uses the same geometric ice-glass language as all other controls. */
#zt-smart-concierge .ztsc-back-btn {
  position:relative;
  text-decoration:none !important;
  border:1px solid var(--ztsc-ice-line-soft) !important;
  background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035) 52%,rgba(255,255,255,.018)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 10px 26px rgba(0,0,0,.24) !important;
  backdrop-filter:blur(13px) saturate(118%);
  -webkit-backdrop-filter:blur(13px) saturate(118%);
  filter:drop-shadow(0 5px 0 rgba(0,0,0,.42));
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease,filter .18s ease,box-shadow .18s ease;
}
#zt-smart-concierge .ztsc-back-btn:hover {
  color:#151006 !important;
  border-color:#ffe9aa !important;
  background:linear-gradient(135deg,#fff1bd 0%,#f5cd68 34%,#edb126 70%,#b77a13 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 15px 34px rgba(237,177,38,.24) !important;
  filter:drop-shadow(0 6px 0 #704c0f) drop-shadow(0 15px 24px rgba(237,177,38,.16));
  transform:translateY(-1px);
}
#zt-smart-concierge .ztsc-back-btn:hover .ztsc-glyph--back {
  background:#151006 !important;
  color:#151006 !important;
}
#zt-smart-concierge .ztsc-route-reason { grid-column:1 / -1; }

/* Debug corrections: keep keyboard focus inside clipped control edges. */
#zt-smart-concierge :where(button,a,input,select,textarea,summary):focus-visible {
  outline-offset: -3px !important;
}

/* The launcher is concealed while the dialog is open. */
#zt-smart-concierge.is-concierge-open .ztsc-launcher-halo {
  animation-play-state: paused;
}

/* Respect reduced motion after all legacy design overrides. */
@media (prefers-reduced-motion: reduce) {
  #zt-smart-concierge *,
  #zt-smart-concierge *::before,
  #zt-smart-concierge *::after {
    animation: none !important;
    transition: none !important;
  }

  #zt-smart-concierge :where(
    .ztsc-btn, .ztsc-mini-btn, .ztsc-icon-btn, .ztsc-choice,
    .ztsc-chip, .ztsc-channel, .ztsc-launcher, .ztsc-back-btn
  ):hover {
    transform: none !important;
  }
}

/* Keep the mobile single-column dialog after the V11 desktop override. */
@media (max-width: 820px) {
  #zt-smart-concierge .ztsc-dialog {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Mobile progress and high-contrast back control: explicit slots for all four children. */
#zt-smart-concierge .ztsc-topbar {
  grid-template-areas: "back progress close";
}
#zt-smart-concierge .ztsc-back-btn { grid-area: back; }
#zt-smart-concierge .ztsc-mobile-brand { grid-area: brand; }
#zt-smart-concierge .ztsc-progress-wrap { grid-area: progress; }
#zt-smart-concierge .ztsc-topbar > [data-ztsc-close] { grid-area: close; }

#zt-smart-concierge .ztsc-back-btn {
  color: #000000 !important;
  background: #edb126 !important;
  border-color: #edb126 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 5px 14px rgba(0,0,0,.25) !important;
  filter: none;
}
#zt-smart-concierge .ztsc-back-btn .ztsc-back-label {
  color: #000000 !important;
}
#zt-smart-concierge .ztsc-back-btn .ztsc-glyph--back {
  color: #000000 !important;
  background: #000000 !important;
}
#zt-smart-concierge .ztsc-back-btn:hover {
  color: #000000 !important;
  background: #f5cd68 !important;
  border-color: #f5cd68 !important;
  filter: none;
}
#zt-smart-concierge .ztsc-back-btn:focus-visible {
  outline-color: #000000 !important;
}

@media (max-width: 820px) {
  #zt-smart-concierge .ztsc-topbar {
    grid-template-areas: "back brand progress close";
    grid-template-columns: 72px 28px minmax(0,1fr) 40px !important;
    column-gap: 6px !important;
    padding-inline: 12px !important;
  }
  #zt-smart-concierge .ztsc-mobile-brand {
    display: inline-flex;
    width: 28px;
    min-width: 28px;
    gap: 0;
  }
  #zt-smart-concierge .ztsc-mobile-brand strong { display: none; }
  #zt-smart-concierge .ztsc-back-btn {
    width: 72px;
    min-width: 72px;
    min-height: 40px;
    padding: 0 8px !important;
    gap: 5px;
  }
  #zt-smart-concierge .ztsc-back-label { display: inline-block; }
  #zt-smart-concierge .ztsc-progress-meta {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 3px;
    white-space: normal;
    letter-spacing: .025em;
    color: #fffaf0;
  }
  #zt-smart-concierge .ztsc-progress-meta > [data-ztsc-stage-label] {
    max-width: 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.2;
  }
  #zt-smart-concierge .ztsc-progress-meta > .ztsc-progress-right {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 4px 10px;
    max-width: 100%;
    overflow: visible;
    text-overflow: clip;
  }
  #zt-smart-concierge .ztsc-progress-right em { display: none; }
  #zt-smart-concierge [data-ztsc-stage-percent],
  #zt-smart-concierge [data-ztsc-stage-count] {
    display: inline-block;
    flex: 0 0 auto;
    color: #f5cd68;
    white-space: nowrap;
    font-size: 12px !important;
    line-height: 1.2;
  }
  #zt-smart-concierge .ztsc-step-nav {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    grid-template-rows: repeat(2,auto);
    gap: 4px;
    padding: 8px 10px;
    overflow: visible;
  }
  #zt-smart-concierge .ztsc-step-nav button {
    min-height: 36px;
    color: #fffaf0;
  }
  #zt-smart-concierge .ztsc-step-nav button:disabled {
    opacity: 1;
    color: #c5c0b6;
  }
  #zt-smart-concierge .ztsc-step-nav button.is-current {
    color: #000000;
    background: #edb126;
    border-top-color: #edb126;
  }
  #zt-smart-concierge .ztsc-step-nav button.is-current span { color: #000000; }
}


/* Zero To Trend — keep the phone controls in their existing grid. */
#zt-smart-concierge .ztsc-brand-copy .zt-origin-signature {
  display: block !important;
  color: #EDB126 !important;
  font-family: inherit !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  line-height: 1.5 !important;
  letter-spacing: .10em !important;
  text-transform: none !important;
}
#zt-smart-concierge .ztsc-origin-mobile {
  display: none;
}
@media (max-width: 820px) {
  #zt-smart-concierge .ztsc-origin-mobile {
    display: block;
    flex: 0 0 auto;
    padding: 8px 14px 4px;
  }
  #zt-smart-concierge .ztsc-origin-mobile .zt-origin-lockup {
    display: flex !important;
    align-items: center !important;
    margin: 0;
    gap: 2px !important;
    text-align: center;
  }
  #zt-smart-concierge .ztsc-origin-mobile .zt-origin-signature {
    font-size: 10px !important;
    line-height: 1.4 !important;
  }
}

@media (max-width: 820px) {
  #zt-smart-concierge .ztsc-main {
    grid-template-rows: auto auto auto auto minmax(0, 1fr) !important;
  }
}
