.concierge{background:var(--cream);min-height:100vh;padding:28px max(5%,calc((100% - 1240px)/2)) 60px}.concierge-top{display:flex;justify-content:space-between;gap:20px;font-size:12px;margin-bottom:48px}.concierge-top span{background:var(--ink);color:white;padding:5px 12px;border-radius:20px}.concierge h1{font-size:clamp(36px,5vw,64px);margin:0 0 18px}.concierge .eyebrow{margin-bottom:14px}.intro{color:var(--muted)}.concierge-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:24px;margin-top:32px}.chat{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.chat-heading{padding:20px 24px;background:var(--ink);color:white;display:flex;justify-content:space-between;gap:12px}.chat-heading span{font-size:12px}.transcript{--transcript-height:440px;--transcript-padding:24px;height:var(--transcript-height);overflow:auto;padding:var(--transcript-padding);overflow-anchor:none;scroll-behavior:auto}.message{background:var(--cream);border-radius:12px;padding:16px 20px;margin-bottom:18px;font-size:14px}.message.you{background:#e9f0f7;margin-left:30px}.message p{white-space:pre-wrap;margin:8px 0;overflow-wrap:anywhere}.message a{display:block;text-decoration:underline}.prompts{display:flex;gap:8px;flex-wrap:wrap;padding:0 20px 14px}.prompts button{border:1px solid var(--line);border-radius:20px;background:white;color:var(--ink);padding:8px 12px;font-size:12px}.chat form{border-top:1px solid var(--line);padding:18px 20px}.chat label{display:block;font-size:13px;margin-bottom:8px}.compose{display:flex;align-items:center;gap:10px}.compose textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:10px;resize:vertical}.mic{display:grid;place-items:center;background:var(--accent);color:var(--ink);border:none;border-radius:50%;min-width:48px;min-height:48px}.voice-note{font-size:12px;color:var(--muted);margin:10px 0 0}.resource{padding:24px;background:white;border:1px solid var(--line);border-radius:16px;margin-bottom:16px}.resource h2{font-size:28px;margin-bottom:16px}.resource a{display:block;margin:10px 0;text-decoration:underline;overflow-wrap:anywhere}.resource p{font-size:13px;margin:14px 0 0;color:var(--muted)}button:disabled{opacity:.5;cursor:default}@media(max-width:760px){.concierge-grid{grid-template-columns:1fr}.concierge-top{flex-wrap:wrap;margin-bottom:32px}.chat-heading{flex-direction:column}.transcript{--transcript-height:380px;--transcript-padding:14px}.compose{flex-wrap:wrap}.compose textarea{flex-basis:100%}.compose .button{flex:1;justify-content:center}.concierge{padding:20px 4% 40px}.message.you{margin-left:15px}}
/* Reserve reading space from the first token so a new answer can start at the
   top immediately; growing text never needs to pull the viewport downward. */
.transcript>.message.concierge:not(:first-child):last-of-type{min-height:calc(var(--transcript-height) - 2 * var(--transcript-padding) - 18px)}

/* Keep the question field visible at the top of the public concierge. */
.concierge-top{margin-bottom:20px}
.concierge-grid{margin-top:0}
.chat-heading{align-items:center;padding:18px 24px}
.chat-heading strong{font-size:clamp(19px,2.3vw,28px);line-height:1.15}
.chat .question-panel{background:#efe3bd;border-top:0;border-bottom:1px solid #c8aa55;padding:18px 20px}
.question-panel label{color:#253b32;font-size:18px;font-weight:800;margin-bottom:9px}
.compose textarea{border:2px solid #9b7425;background:#fffdf7;color:var(--ink);padding:12px;box-shadow:0 2px 7px rgba(44,42,32,.12)}
.compose textarea:focus{border-color:#253b32;outline:3px solid rgba(37,59,50,.18)}
.question-help{font-size:12px;color:#51472e;margin:9px 0 0}
.prompts{padding:14px 20px;border-bottom:1px solid var(--line);background:#fffdf8}
.prompts button{border-color:#bba76b}
.transcript{--transcript-height:390px}
@media(max-width:760px){.concierge-top{margin-bottom:16px}.chat-heading{align-items:flex-start;padding:16px 18px}.chat .question-panel{padding:16px}.prompts{padding:12px 16px}.transcript{--transcript-height:340px}}
