#home .home-concierge {
  position: relative; z-index: 3; overflow: hidden;
  display: grid; grid-template-columns: minmax(0,.84fr) minmax(0,1.16fr);
  gap: clamp(22px,3.3vw,42px); margin: -54px 0 34px;
  padding: clamp(24px,3.5vw,42px);
  border: 1px solid rgba(209,190,255,.35); border-radius: 30px;
  color: #f9f8ff;
  background: radial-gradient(circle at 6% 0%,rgba(111,73,197,.45),transparent 43%),radial-gradient(circle at 92% 90%,rgba(35,117,145,.23),transparent 39%),linear-gradient(135deg,#14142f,#0a1025 74%);
  box-shadow: 0 30px 80px rgba(2,4,21,.52),inset 0 1px rgba(255,255,255,.1);
}
#home .home-concierge::before { content:''; position:absolute; width:490px; height:490px; left:-295px; bottom:-340px; border:1px solid rgba(197,176,255,.22); border-radius:50%; box-shadow:0 0 0 65px rgba(211,192,255,.025),0 0 0 135px rgba(211,192,255,.018); pointer-events:none; }
#home .home-concierge__heading { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:12px 0 20px; }
#home .home-concierge__eyebrow { display:inline-block; color:#c8b4ff; font-size:10px; font-weight:800; letter-spacing:.23em; }
#home .home-concierge__heading h2 { max-width:440px; margin:20px 0 15px; font-size:clamp(28px,3.4vw,43px); font-weight:750; line-height:1.18; letter-spacing:-.025em; }
#home .home-concierge__heading p { max-width:440px; margin:0; color:#d4d1e4; font-size:13px; line-height:1.82; }
#home .home-concierge__state { display:inline-flex; align-items:center; gap:8px; margin-top:26px; padding:8px 12px; border:1px solid rgba(181,223,228,.25); border-radius:999px; color:#d5e9e8; background:rgba(18,48,63,.32); font-size:11px; font-weight:650; }
#home .home-concierge__state i { width:7px; height:7px; border-radius:50%; background:#b9b8cc; box-shadow:0 0 13px currentColor; }
#home .home-concierge__state.is-ready i { background:#68e1c7; }
#home .home-concierge__state.is-offline i { background:#e5b47c; }
#home .home-concierge__stage { position:relative; min-width:0; padding:18px; border:1px solid rgba(204,197,246,.2); border-radius:23px; background:rgba(5,10,27,.63); box-shadow:inset 0 1px rgba(255,255,255,.06); backdrop-filter:blur(16px); }
#home .home-concierge__messages { display:flex; flex-direction:column; gap:13px; max-height:400px; min-height:112px; overflow-y:auto; padding:1px 2px 14px; scrollbar-color:rgba(184,163,239,.45) transparent; }
#home .home-concierge__message { display:flex; align-items:flex-start; gap:9px; max-width:94%; }
#home .home-concierge__message.is-user { align-self:flex-end; justify-content:flex-end; }
#home .home-concierge__message img { flex:none; width:31px; height:31px; object-fit:cover; border:1px solid rgba(209,190,255,.43); border-radius:50%; }
#home .home-concierge__bubble { padding:11px 14px; border:1px solid rgba(194,181,238,.23); border-radius:5px 17px 17px 17px; background:rgba(53,43,100,.53); }
#home .home-concierge__bubble small { display:block; margin-bottom:6px; color:#d0bdff; font-size:10px; font-weight:800; letter-spacing:.08em; }
#home .home-concierge__bubble p { margin:0; color:#f2f1fb; font-size:12px; line-height:1.73; white-space:pre-wrap; overflow-wrap:anywhere; }
#home .home-concierge__message.is-user .home-concierge__bubble { border-radius:17px 5px 17px 17px; border-color:rgba(153,208,223,.27); background:rgba(36,85,107,.52); }
#home .home-concierge__message.is-pending .home-concierge__bubble p::after { content:'…'; animation:home-concierge-pulse 1.2s ease-in-out infinite; }
#home .home-concierge__message.is-error .home-concierge__bubble { border-color:rgba(231,170,130,.39); background:rgba(102,57,49,.42); }
#home .home-concierge__sources { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
#home .home-concierge__sources a { display:inline-flex; align-items:center; min-height:27px; max-width:100%; padding:4px 9px; border:1px solid rgba(172,204,218,.28); border-radius:999px; color:#bce5e8; background:rgba(21,59,75,.32); font-size:10px; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#home .home-concierge__sources a:hover { border-color:#a7e3ee; color:#fff; }
#home .home-concierge__prompts { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 13px 40px; }
#home .home-concierge__prompts button { display:inline-flex; align-items:center; gap:7px; padding:8px 10px; border:1px solid rgba(190,181,230,.32); border-radius:999px; color:#e0dafa; background:rgba(60,48,100,.36); font-size:10px; line-height:1.3; cursor:pointer; }
#home .home-concierge__prompts button span { color:#9ddbe7; }
#home .home-concierge__prompts button:hover { border-color:#c9b8ff; background:rgba(90,67,151,.5); }
#home .home-concierge__form { display:block; padding:11px; border:1px solid rgba(198,191,234,.27); border-radius:17px; background:rgba(9,14,35,.88); }
#home .home-concierge__form label { display:block; margin:0 0 7px 4px; color:#c8b9ef; font-size:10px; font-weight:750; letter-spacing:.06em; }
#home .home-concierge__composer { display:flex; align-items:flex-end; gap:9px; }
#home .home-concierge__composer textarea { flex:1; min-width:0; min-height:46px; max-height:140px; resize:vertical; padding:10px 12px; border:0; outline:none; border-radius:10px; color:#fff; background:rgba(30,34,66,.64); font:inherit; font-size:12px; line-height:1.6; }
#home .home-concierge__composer textarea::placeholder { color:#9f9db5; }
#home .home-concierge__composer button { flex:none; min-width:79px; min-height:46px; padding:10px 12px; border:0; border-radius:11px; color:#111226; background:linear-gradient(120deg,#e6d4f6,#a7e4e5); font-size:12px; font-weight:800; cursor:pointer; box-shadow:0 8px 22px rgba(75,151,171,.19); }
#home .home-concierge__composer button:hover { filter:brightness(1.08); }
#home .home-concierge__composer button:disabled { opacity:.56; cursor:wait; }
#home .home-concierge__actions { display:flex; justify-content:flex-end; padding:12px 3px 0; }
#home .home-concierge__actions button { border:0; color:#dbd0fa; background:none; font-size:12px; font-weight:750; cursor:pointer; }
#home .home-concierge__actions button:hover { color:#fff; }
#home .home-concierge button:focus-visible,#home .home-concierge textarea:focus-visible,#home .home-concierge a:focus-visible { outline:2px solid #a9e5ee; outline-offset:3px; }
@keyframes home-concierge-pulse { 50% { opacity:.25; } }
@media (max-width:1199px) {
  #home .home-concierge { grid-template-columns:1fr; gap:14px; margin:-38px -2px 24px; padding:21px 15px 15px; border-radius:23px; }
  #home .home-concierge__heading { padding:0 4px; }
  #home .home-concierge__heading h2 { max-width:320px; margin:10px 0 9px; font-size:27px; }
  #home .home-concierge__heading p { font-size:11px; line-height:1.7; }
  #home .home-concierge__state { margin-top:13px; padding:6px 10px; font-size:10px; }
  #home .home-concierge__stage { padding:12px; border-radius:17px; }
  #home .home-concierge__messages { max-height:305px; }
  #home .home-concierge__bubble p { font-size:11px; }
  #home .home-concierge__prompts { flex-wrap:nowrap; overflow-x:auto; margin:0 0 12px 0; padding:0 0 4px; scrollbar-width:none; }
  #home .home-concierge__prompts button { flex:none; white-space:nowrap; }
  #home .home-concierge__composer button { min-width:66px; }
  #home .home-concierge__actions { padding-top:10px; }
}
@media (prefers-reduced-motion:reduce) { #home .home-concierge__message.is-pending .home-concierge__bubble p::after { animation:none; } }

/* V0.37: customer tasks, readable dialogue, and a visible human handoff. */
#home .home-concierge__heading p { font-size: 15px; line-height: 1.7; }
#home .home-concierge__messages { min-height: 96px; }
#home .home-concierge__bubble p { font-size: 14px; line-height: 1.7; }
#home .home-concierge__bubble small { font-size: 11px; }
#home .home-concierge__prompts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-left: 40px; }
#home .home-concierge__prompts button { justify-content: space-between; width: 100%; min-height: 39px; padding: 9px 12px; border-radius: 11px; font-size: 13px; text-align: left; }
#home .home-concierge__form label { font-size: 12px; }
#home .home-concierge__composer textarea { font-size: 14px; }
#home .home-concierge__follow-up { display: block; width: 100%; margin-top: 11px; padding: 9px 11px; border: 1px solid rgba(179,224,225,.38); border-radius: 10px; color: #cbf0ed; background: rgba(21,73,81,.5); font-size: 12px; line-height: 1.5; text-align: left; cursor: pointer; }
#home .home-concierge__follow-up:hover { background: rgba(29,96,105,.7); }
#home .home-concierge__next { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 10px; margin-top: -14px; }
#home .home-concierge__next button { min-height: 40px; padding: 9px 14px; border: 1px solid rgba(196,181,238,.34); border-radius: 999px; color: #f4edff; background: rgba(91,70,147,.32); font-size: 13px; font-weight: 700; cursor: pointer; }
#home .home-concierge__next button:last-child { color: #10212c; border-color: transparent; background: linear-gradient(120deg,#e6d4f6,#a7e4e5); }
#home .home-concierge__next button:hover { filter: brightness(1.1); }
#home .home-concierge__next button:focus-visible,#home .home-concierge__follow-up:focus-visible { outline: 2px solid #a9e5ee; outline-offset: 3px; }
#home .home-real-gallery-title { margin-top: 27px; }
#home .home-real-gallery-title h2 { font-size: 23px; }
#home .home-real-gallery { margin-bottom: 18px; }
#home .home-ai-entry.is-concierge-visible { opacity: 0; pointer-events: none; }
@media (max-width:1199px) {
  #home .home-concierge__heading p { font-size: 13px; }
  #home .home-concierge__prompts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; margin: 0 0 12px; }
  #home .home-concierge__prompts button { white-space: normal; min-height: 48px; font-size: 12px; }
  #home .home-concierge__bubble p { font-size: 13px; }
  #home .home-concierge__next { margin-top: 0; }
}
@media (max-width:430px) {
  #home .home-concierge { padding: 18px 13px 13px; }
  #home .home-concierge__heading h2 { margin: 8px 0; font-size: 25px; }
  #home .home-concierge__state { margin-top: 10px; }
  #home .home-concierge__stage { padding: 11px; }
  #home .home-concierge__messages { min-height: 84px; max-height: 265px; }
  #home .home-concierge__prompts button { padding: 8px 9px; font-size: 11px; }
  #home .home-concierge__next { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  #home .home-concierge__next button { padding: 8px; font-size: 11px; }
}
