:root{--ink: #13120E;--surface: #201F19;--raised: #272620;--rim: rgba(200, 176, 120, .12);--gold: #C8B078;--gold-lt: #DEC990;--gold-dim: #7A6A44;--text: rgba(255, 255, 255, .82);--muted: rgba(255, 255, 255, .38);--white: #FFFFFF}.btn-gold{background:var(--gold);color:var(--ink);padding:15px 38px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;border-radius:40px;display:inline-flex;align-items:center;justify-content:center;transition:background .25s,transform .2s}.btn-gold:hover{background:var(--gold-lt);transform:translateY(-2px)}.btn-ring{border:1px solid rgba(200,176,120,.4);color:var(--gold);padding:14px 38px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;border-radius:40px;display:inline-flex;align-items:center;justify-content:center;transition:border-color .25s,color .25s,background .25s}.btn-ring:hover{border-color:var(--gold);background:#c8b07812;color:var(--gold-lt)}button.btn-gold,button.btn-ring,button.btn-ring-dark{appearance:none;-webkit-appearance:none;margin:0;cursor:pointer;text-align:center;font-family:inherit}button.btn-ring,button.btn-ring-dark{background-color:transparent}button.btn-gold{border:none}.appointment-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;padding:0;border:1px solid var(--rim);border-radius:14px;background:var(--surface);color:var(--text);max-width:calc(100vw - 28px);width:min(440px,100%);max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);overflow-y:auto;box-shadow:0 28px 100px #0000008c}.appointment-dialog::backdrop{background:#13120eb8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.appointment-dialog-shell{padding:clamp(22px,4vw,30px)}.appointment-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.appointment-dialog-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(22px,4vw,26px);font-weight:400;line-height:1.25;color:var(--gold)}.appointment-dialog-close{flex-shrink:0;width:40px;height:40px;margin:-8px -10px 0 0;border:none;background:transparent;color:var(--muted);font-size:28px;line-height:1;cursor:pointer;border-radius:8px;transition:color .2s,background .2s}.appointment-dialog-close:hover{color:var(--gold);background:#c8b07814}.appointment-dialog-intro{font-size:13px;line-height:1.65;color:var(--muted);margin-bottom:22px}.appointment-form-status{font-size:13px;line-height:1.5;margin:0 0 16px;min-height:1.25em}.appointment-form-status[hidden]{display:none!important}.appointment-form-status.is-error{color:#e8a0a0}.appointment-form-status.is-success{color:var(--gold-lt)}.appointment-fields{display:flex;flex-direction:column;gap:16px}.appointment-label{display:flex;flex-direction:column;gap:7px}.appointment-label-text{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dim)}.appointment-input{width:100%;padding:14px 16px;border:1px solid var(--rim);border-radius:8px;background:var(--raised);color:var(--text);font-size:16px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.appointment-input::placeholder{color:#ffffff47}.appointment-input:focus{outline:none;border-color:#c8b07873;box-shadow:0 0 0 1px #c8b07840}.appointment-textarea{resize:vertical;min-height:100px;line-height:1.55}.appointment-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:24px}.appointment-actions .btn-ring{min-width:120px}@media(pointer:coarse){.appointment-dialog-close{min-width:48px;min-height:48px}.appointment-actions{flex-direction:column;align-items:stretch;gap:14px;margin-top:28px}.appointment-actions .btn-ring,.appointment-actions .btn-gold{width:100%;justify-content:center;display:inline-flex;align-items:center;min-height:48px;padding-inline:28px}}
