:root{--ivory:#f5f0e6;--paper:#fffdf8;--green:#062f29;--green-soft:#17463e;--sand:#b6945f;--sand-light:#d9c3a0;--stone:#75736d;--line:#b6945f57;--display:"Bodoni 72", Didot, "Times New Roman", serif;--body:"Avenir Next", Avenir, Montserrat, Arial, sans-serif}*{box-sizing:border-box}html{background:var(--ivory)}body{background:var(--ivory);color:var(--green);margin:0}button,input{font:inherit}.concierge-page{background:radial-gradient(circle at 50% -18%, #b6945f26, transparent 34%), linear-gradient(180deg, #f7f2e9 0%, var(--ivory) 68%, #f1eadf 100%);min-height:100dvh;font-family:var(--body);padding:clamp(22px,4vw,48px) 16px 24px}.concierge-shell{width:min(100%,760px);margin:0 auto}.concierge-header{text-align:center;flex-direction:column;align-items:center;padding:0 8px 24px;display:flex}.ayusta-mark{fill:none;width:46px;height:42px;stroke:var(--green);stroke-linecap:square;stroke-linejoin:miter;stroke-width:2.3px;margin-bottom:-3px}.ayusta-mark circle{fill:var(--sand);stroke:none}.brand-name{font-family:var(--display);letter-spacing:.16em;text-indent:.16em;font-size:clamp(25px,5vw,34px);font-weight:400;line-height:1}.brand-rule{background:var(--sand);width:58px;height:1px;margin:14px auto 10px}.concierge-header h1{font-family:var(--display);letter-spacing:.13em;text-indent:.13em;margin:0;font-size:clamp(31px,7vw,48px);font-weight:400;line-height:1}.demo-badge{border:1px solid var(--line);color:#8a6b3f;letter-spacing:.2em;text-indent:.2em;border-radius:999px;margin-top:13px;padding:5px 10px 4px;font-size:8px;font-weight:650}.chat-panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf8d1;border-radius:24px 24px 6px 6px;overflow:hidden;box-shadow:0 24px 70px #1f322b1a}.chat-status{border-bottom:1px solid var(--line);color:#51554f;letter-spacing:.13em;text-align:center;text-transform:uppercase;justify-content:center;align-items:center;gap:9px;min-height:52px;padding:13px 18px;font-size:10px;font-weight:650;display:flex}.status-dot{background:var(--sand);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 7px #b6945f1f}.status-divider{color:var(--sand)}.messages{overscroll-behavior:contain;scrollbar-color:var(--sand-light) transparent;flex-direction:column;gap:20px;min-height:410px;max-height:min(58vh,620px);padding:clamp(24px,5vw,42px);display:flex;overflow-y:auto}.message-group{flex-direction:column;align-items:flex-start;display:flex}.message-group.user{align-items:flex-end}.message-label{color:#777b75;letter-spacing:.2em;text-transform:uppercase;margin:0 0 8px 40px;font-size:9px;font-weight:700}.message-group.user .message-label{margin:0 8px 8px 0}.message-row{align-items:flex-end;gap:10px;width:100%;display:flex}.message-row.user{justify-content:flex-end}.assistant-avatar{border:1px solid var(--sand);color:#9a7745;width:30px;height:30px;font-family:var(--display);border-radius:50%;flex:none;place-items:center;font-size:16px;display:grid}.message-bubble{white-space:pre-wrap;overflow-wrap:anywhere;letter-spacing:.005em;max-width:min(86%,560px);padding:15px 18px;font-size:15px;line-height:1.58}.message-bubble.assistant{border:1px solid var(--line);color:#233c36;background:#fffffceb;border-radius:18px 18px 18px 4px}.message-bubble.user{background:var(--green);color:#fffdf8;border-radius:20px 20px 4px}.message-bubble strong{font-weight:700}.starter-questions{flex-wrap:wrap;gap:8px;padding-left:40px;display:flex}.starter-questions button{border:1px solid var(--line);color:var(--green-soft);cursor:pointer;background:0 0;border-radius:999px;padding:9px 12px;font-size:11px;transition:border-color .16s,background .16s,color .16s}.starter-questions button:hover{border-color:var(--green);background:var(--green);color:var(--paper)}.thinking{justify-content:center;align-items:center;gap:5px;width:74px;padding-block:20px;display:flex}.thinking>span:not(.sr-only){background:var(--sand);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite thinking-pulse}.thinking>span:nth-child(2){animation-delay:.15s}.thinking>span:nth-child(3){animation-delay:.3s}.composer{border-top:1px solid var(--line);background:#f5f0e6db;gap:12px;padding:16px;display:flex}.composer input{background:var(--paper);min-width:0;color:var(--green);border:1px solid #9f80506b;border-radius:4px;outline:none;flex:1;padding:16px 18px;font-size:16px;transition:border-color .16s,box-shadow .16s}.composer input::placeholder{color:#999a96}.composer input:focus{border-color:var(--sand);box-shadow:0 0 0 3px #b6945f1f}.composer input:disabled{opacity:.65}.send-button{border:1px solid var(--green);background:var(--green);width:56px;min-width:56px;color:var(--paper);cursor:pointer;border-radius:4px;place-items:center;transition:background .16s,border-color .16s,transform .16s;display:grid}.send-button:hover:not(:disabled){border-color:var(--sand);background:var(--sand)}.send-button:active:not(:disabled){transform:translateY(1px)}.send-button:disabled{cursor:default;opacity:.42}.send-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:25px}.concierge-footer{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:18px 12px 0;display:flex}.concierge-footer p{color:#7f7c75;margin:0;font-size:10px;line-height:1.5}.concierge-footer a{color:var(--green);letter-spacing:.18em;text-transform:uppercase;font-size:9px;font-weight:700;text-decoration:none}.concierge-footer a:hover{color:#8a6b3f}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes thinking-pulse{0%,60%,to{opacity:.28;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media (max-width:520px){.concierge-page{padding:18px 10px 16px}.concierge-header{padding-bottom:20px}.chat-panel{border-radius:20px 20px 5px 5px}.chat-status{gap:7px;min-height:48px;padding-inline:10px;font-size:8.5px}.messages{min-height:390px;max-height:55vh;padding:24px 14px}.message-bubble{max-width:89%;padding:13px 15px;font-size:14px}.message-label{margin-left:38px}.starter-questions{padding-left:0}.composer{gap:9px;padding:11px}.composer input{padding:14px}.send-button{width:52px;min-width:52px}}@media (prefers-reduced-motion:reduce){.thinking>span:not(.sr-only){animation:none}}
