:root{--navy:#0d1b2a;--orange:#b94f10;--orange-text:#a8470e;--cream:#f3efe7;--ink:#263849;--muted:#586573;--line:#d8dce0;--green:#176342}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--navy);font:16px/1.55 'Segoe UI',Arial,sans-serif}a{color:var(--orange-text)}header{background:var(--navy);border-bottom:4px solid #e0651a;color:white}.bar{max-width:1120px;margin:auto;padding:18px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center}.brand{font-weight:800;letter-spacing:1px;color:white;text-decoration:none}.bar a{color:white}.wrap{max-width:1000px;margin:auto;padding:36px 24px 60px}h1{font-size:clamp(1.8rem,5vw,2.7rem);line-height:1.15;margin:8px 0 16px}h2{font-size:1.3rem;line-height:1.3}h3{font-size:1.1rem}.intro{max-width:700px;color:var(--ink)}.kicker{color:var(--orange-text);text-transform:uppercase;font-size:.8rem;font-weight:800;letter-spacing:1.5px}.card{background:white;border:1px solid #e5e4e0;border-radius:12px;padding:28px;margin:22px 0;box-shadow:0 4px 18px #0d1b2a05}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid .full{grid-column:1/-1}label,legend{font-weight:650}label{display:block}input,select,textarea,button{font:inherit}input:not([type=checkbox]),select,textarea{display:block;background:white;color:var(--navy);width:100%;border:1px solid #7b8791;border-radius:6px;padding:11px 12px;margin-top:5px}textarea{min-height:110px;resize:vertical}input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--navy);outline-offset:3px;box-shadow:0 0 0 6px #fff}header :focus-visible,footer :focus-visible,dialog::backdrop{outline-color:#fff;box-shadow:0 0 0 6px var(--navy)}button,.button{display:inline-block;border:0;border-radius:6px;background:var(--orange);color:white;text-decoration:none;font-weight:700;padding:12px 19px;cursor:pointer}button:hover,.button:hover{filter:brightness(.93)}button.secondary,.button.secondary{background:#e9edf0;color:var(--navy)}button.danger{background:#9c2930}button:disabled{opacity:.55;cursor:not-allowed}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.small,small{font-size:.87rem;color:var(--muted)}.notice{padding:16px 18px;background:#fff4df;border-left:4px solid #d78c20;border-radius:4px;margin:16px 0}.success{background:#e9f5ef;border-left-color:var(--green)}.error{background:#fff0f0;border-left-color:#ae3139}.status:empty{display:none}.status{white-space:pre-line}.check{display:flex;gap:12px;align-items:flex-start;font-weight:400}.check input{flex:0 0 auto;width:20px;height:20px;margin-top:3px}.check span{flex:1}.calendar{max-width:610px}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.calendar-head h3{margin:0;text-align:center}.calendar-head button{padding:8px 13px}.week,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.week span{text-align:center;font-size:.8rem;color:var(--muted);padding:8px 0}.day{padding:10px 2px;border:1px solid #7b8791;background:white;color:var(--navy);min-height:44px;border-radius:6px}.day[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}.day:disabled{border-color:#eee;background:#f4f4f4;color:#7e8387;opacity:.7}.selected{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.selected button{padding:6px 10px;background:#eaf0f5;color:var(--navy);font-size:.88rem}.photo-list{margin:12px 0;padding-left:20px;font-size:.9rem}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.booking-meta{display:flex;gap:8px;flex-wrap:wrap}.badge{font-size:.78rem;font-weight:700;text-transform:uppercase;background:#edf0f2;border-radius:20px;padding:4px 10px}.badge.confirmed{background:#e5f3eb;color:var(--green)}dl{display:grid;grid-template-columns:110px 1fr;gap:8px 16px}dt{font-weight:700}dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.photos{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.photos img{width:120px;height:100px;object-fit:cover;border-radius:6px}.rule{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}fieldset{border:0;padding:0;margin:0}footer{background:var(--navy);color:#c4ced7;padding:24px;text-align:center;font-size:.85rem}footer a{color:white}dialog{border:0;border-radius:12px;padding:28px;max-width:500px;width:calc(100% - 32px);box-shadow:0 20px 70px #0004}dialog::backdrop{background:#0d1b2a99}[hidden]{display:none!important}.skeleton{color:var(--muted)}@media(max-width:600px){.grid{grid-template-columns:1fr}.card{padding:20px}.wrap{padding:26px 16px 40px}.bar{padding:15px 16px;font-size:.9rem}.day{min-height:42px}.days,.week{gap:4px}dl{grid-template-columns:1fr;gap:3px}dd{margin-bottom:10px}.actions button{flex:1}.photos img{width:90px;height:80px}}
.choices{border:0;padding:0;margin:0 0 14px}.choices legend{font-weight:650;margin-bottom:4px}.choice{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #7b8791;border-radius:6px;margin-top:8px;background:white;cursor:pointer;font-weight:600}.choice input{display:inline-block;width:auto;margin:0;padding:0;flex:none}.choice:has(input:checked){border-color:#b64f12;background:#fff4df}.choice:has(input:disabled){opacity:.55;cursor:not-allowed}

.bar .badge{color:var(--navy);background:#ffd9bf;text-decoration:none;white-space:nowrap}
.chat-card{border:1px solid var(--line);border-radius:10px;margin-top:14px;background:#fff}
.chat-card>summary{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:14px;cursor:pointer;min-height:48px}
.chat-card>summary strong{flex:1 1 14em;min-width:0;overflow-wrap:anywhere}
.chat-card.waiting{border-color:#b94f10;box-shadow:0 0 0 2px #fff4df}
.chat-body{padding:0 14px 16px}
.chat-body dl{margin:8px 0 12px;grid-template-columns:96px 1fr}
.chat-log{max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:12px;background:#f6f4ef;border-radius:8px}
.bubble{max-width:90%;padding:8px 11px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line)}
.bubble.customer{align-self:flex-start}
.bubble.assistant{align-self:flex-end;background:#eef2f6}
.bubble.greg{align-self:flex-end;background:#fff4df;border-color:#d78c20}
.bubble b{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.chat-reply textarea{min-height:84px}
.chat-reply .qa{border-left:4px solid #d8dce0;padding-left:12px;margin:8px 0}
.chat-reply .qa textarea{min-height:70px}
.chat-reply .status{margin:8px 0 0}
@media(max-width:600px){.chat-body dl{grid-template-columns:1fr}.chat-reply .actions button{flex:1 1 100%}}
