*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--terracotta: #b5522a;--warm: #c8955a;--cream: #f2ead8;--off: #8a7d6a;--black: #0a0806;--card: #120e0a;--border: #1e1810;--nav-h: 57px;--bot: #16120e;--user: #1f1610;--text-chat: .85rem;--text-chip: 1.08rem;--touch-min: 3.6rem;--chip-pad-y: 1.08rem;--chip-pad-x: 1.32rem;--chip-gap: 1rem;--msg-col-max: 75%;--time-chip-size: 3.25rem}html{font-size:16px;-webkit-text-size-adjust:100%}body{background:var(--black);color:var(--cream);font-family:Space Mono,monospace;min-height:100dvh}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;height:var(--nav-h);background:#0a0806f7;border-bottom:1px solid var(--border)}.nav-logo{font-family:Playfair Display,serif;font-size:1.2rem;font-weight:700;color:var(--cream);text-decoration:none}.nav-logo span{color:var(--terracotta);font-style:italic}.nav-back{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--off);text-decoration:none}.nav-right{display:flex;align-items:center;gap:.75rem}.lang-toggle{display:flex;align-items:center;border:1px solid var(--border);overflow:hidden}.lang-btn{font:inherit;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--off);background:transparent;border:none;padding:.35rem .55rem;cursor:pointer}.lang-btn.active{background:var(--terracotta);color:var(--cream)}.lang-divider{width:1px;height:1.25rem;background:var(--border)}main{padding:calc(var(--nav-h) + .85rem) .85rem 1rem;max-width:100%;margin:0 auto;height:100dvh;max-height:100dvh;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto auto;align-content:stretch}.thread{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:.72rem;padding-bottom:.4rem}.msg{display:flex;gap:.68rem;align-items:flex-start;width:100%;max-width:100%;contain:layout style;animation:fadeUp .22s ease}.msg.user{flex-direction:row-reverse}.msg-col{flex:0 1 var(--msg-col-max);min-width:0;max-width:var(--msg-col-max);display:flex;flex-direction:column;gap:var(--chip-gap);align-items:stretch}@keyframes fadeUp{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.msg{animation:none}}.avatar{flex-shrink:0;width:2.4rem;height:2.4rem;min-width:2.4rem;min-height:2.4rem;border-radius:50%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.58rem;letter-spacing:.05em;font-weight:700;border:2px solid var(--terracotta);overflow:hidden;margin-top:.15rem}.avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.msg.bot .avatar{border-color:var(--terracotta);background:var(--card)}.msg.user .avatar{background:var(--user);color:var(--warm);border-color:var(--terracotta-dim)}.bubble{padding:.76rem .84rem;border-radius:.88rem;max-width:100%;width:100%;font-size:var(--text-chat);line-height:1.55}.msg.bot .bubble{background:var(--bot);border:1px solid var(--border);border-bottom-left-radius:.25rem}.msg.user .bubble{background:var(--user);border:1px solid var(--terracotta);border-bottom-right-radius:.25rem;color:var(--cream)}.typing .bubble{display:flex;gap:.2rem;align-items:center;min-height:2rem}.typing span{width:.35rem;height:.35rem;border-radius:50%;background:var(--off);animation:blink 1.2s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.thread .chips{display:flex;flex-flow:row wrap;align-items:stretch;align-content:flex-start;gap:var(--chip-gap);width:100%;margin:0;padding:.15rem 0 .35rem;list-style:none}.thread button.chip{box-sizing:border-box;font-family:Space Mono,monospace;font-size:var(--text-chip);letter-spacing:.02em;text-transform:none;flex:0 1 auto;min-width:0;max-width:100%;width:auto;text-align:left;min-height:var(--touch-min);padding:var(--chip-pad-y) var(--chip-pad-x);margin:0;cursor:pointer;appearance:none;-webkit-appearance:none;border:2px solid var(--terracotta);background:transparent;background-color:transparent;color:var(--terracotta);border-radius:999px;box-shadow:none;transition:border-color .15s,background .15s,transform .1s,color .15s;display:inline-flex;flex-direction:row;align-items:center;justify-content:flex-start}.thread button.chip .chip-label{font-size:var(--text-chip);font-weight:700;line-height:1.25;letter-spacing:.01em;color:var(--terracotta)}.thread button.chip .chip-label--solo{display:block;text-align:left;white-space:nowrap}.thread button.chip.chip--time{flex:0 0 auto;width:var(--time-chip-size);height:var(--time-chip-size);min-width:var(--time-chip-size);min-height:var(--time-chip-size);padding:0;border-radius:50%;justify-content:center;align-items:center}.thread button.chip.chip--time .chip-label--solo{text-align:center;font-size:.78rem;letter-spacing:-.02em}.thread button.chip.chip--time .chip-label--stacked{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;line-height:1.05;white-space:nowrap}.thread button.chip.chip--time .chip-day-hint{font-size:.52rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--off)}.thread button.chip.chip--svc{flex:1 1 calc(50% - var(--chip-gap) / 2);max-width:calc(50% - var(--chip-gap) / 2);min-height:0;padding:.48rem .7rem;justify-content:center;font-size:.68rem}.thread button.chip.chip--svc .chip-label{font-size:.68rem}.thread button.chip.chip--svc .chip-label--solo{text-align:center}@media (min-width: 480px){.thread button.chip.chip--svc{padding:.52rem .85rem;font-size:.72rem}.thread button.chip.chip--svc .chip-label{font-size:.72rem}}.thread button.chip.chip--active{background:var(--terracotta);border-color:var(--terracotta);color:var(--cream)}.thread button.chip.chip--active .chip-label{color:var(--cream)}.thread button.chip.chip--active:disabled{opacity:1}.thread button.chip:active{transform:scale(.98)}.thread button.chip:hover:not(:disabled){border-color:var(--warm);background:#b5522a1f;color:var(--warm)}.thread button.chip:hover:not(:disabled) .chip-label{color:var(--warm)}.thread button.chip:disabled{opacity:.55;cursor:default}.thread button.chip.chip-pending{opacity:0;transform:translateY(8px)}.thread button.chip.chip-show{opacity:1;transform:none;transition:opacity .2s ease,transform .2s ease,border-color .15s,background .15s}.bubble.is-typing:after{content:"";display:inline-block;width:2px;height:.9em;margin-left:2px;vertical-align:text-bottom;background:var(--warm);animation:caret .75s step-end infinite}@keyframes caret{50%{opacity:0}}@media (min-width: 480px){:root{--text-chip: 1.24rem;--touch-min: 4.2rem;--chip-pad-y: 1.32rem;--chip-pad-x: 1.6rem;--chip-gap: 1.08rem}.avatar{width:2.68rem;height:2.68rem;min-width:2.68rem;min-height:2.68rem}}.composer{flex-shrink:0;z-index:5;padding-top:.5rem;background:var(--black);border-top:1px solid var(--border)}.composer[hidden]{display:none!important}.composer form{display:flex;gap:.45rem;align-items:stretch}.composer input{flex:1;font:inherit;font-size:1rem;padding:1rem 1.05rem;border:1px solid var(--border);background:var(--card);color:var(--cream);border-radius:0;min-width:0;min-height:var(--touch-min)}.composer input::placeholder{color:var(--off)}.composer button[type=submit]{font:inherit;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;padding:0 1.25rem;min-height:var(--touch-min);border:none;background:var(--terracotta);color:var(--cream);cursor:pointer}.composer button:disabled{opacity:.45;cursor:not-allowed}.mic-btn{flex-shrink:0;min-width:var(--touch-min);min-height:var(--touch-min);border:1px solid var(--border);background:var(--card);color:var(--cream);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:0 .65rem;font:inherit;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;transition:border-color .15s,background .15s,box-shadow .15s}.mic-btn--icon-only{width:2.65rem;padding:0}.mic-btn:hover{border-color:var(--terracotta)}.mic-btn[aria-pressed=true]{border-color:var(--terracotta);background:var(--terracotta);box-shadow:0 0 0 3px #b5522a59}.mic-btn svg{display:block}.confirm-panel{margin-top:.5rem;border:1px solid var(--border);background:var(--card);overflow:hidden;font-family:Space Mono,monospace;font-size:.82rem;line-height:1.55;color:var(--cream)}.confirm-panel[hidden]{display:none!important}.confirm-panel-head{padding:.85rem 1rem .65rem;font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--warm);border-bottom:1px solid var(--border)}.confirm-panel-head[hidden]{display:none!important}#cal-confirm{min-height:340px}#cal-confirm iframe{border:none!important;width:100%!important}.phone-confirm{padding:1rem;display:flex;flex-direction:column;gap:.65rem}.phone-label{font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--off)}.phone-confirm input{font:inherit;font-size:.92rem;padding:.85rem .95rem;border:1px solid var(--border);background:var(--black);color:var(--cream);min-height:var(--touch-min)}.phone-confirm input::placeholder{color:var(--off)}.phone-err{font-size:.62rem;color:#e8a090;line-height:1.5}.phone-err[hidden]{display:none!important}.phone-primary{font:inherit;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.95rem 1rem;min-height:var(--touch-min);border:none;background:var(--cream);color:var(--black);cursor:pointer;margin-top:.25rem}.phone-primary:disabled{opacity:.45;cursor:not-allowed}#phone-confirm-step[hidden]{display:none!important}.p2p-block{padding:1rem;border-bottom:1px solid var(--border)}.p2p-block[hidden]{display:none!important}.p2p-note{display:none}#cal-confirm-step[hidden]{display:none!important}.confirm-subhead{padding:.85rem 1rem;font-size:.82rem;font-weight:700;letter-spacing:.02em;color:var(--warm);border-bottom:1px solid var(--border)}.booking-summary{padding:.85rem 1rem;border-bottom:1px solid var(--border)}.booking-summary[hidden]{display:none!important}.booking-summary-service{font-family:Playfair Display,serif;font-size:1.15rem;font-weight:700;color:var(--cream);line-height:1.25}.booking-summary-when{margin-top:.35rem;font-size:.82rem;letter-spacing:.02em;color:var(--off);font-weight:400}
