:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#08080a;--surface:#17161a;--surface-hover:#201e23;--border:#2b282c;--border-strong:#3c3740;--crimson:#a81c2e;--crimson-bright:#c9273c;--crimson-text:#e0525f;--burgundy:#4a1420;--ink:#f3f0ee;--muted:#938d8a;--error:#e2483f;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Sora", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);margin:0}:focus-visible{outline:2px solid var(--crimson-text);outline-offset:2px}.widget{max-width:480px;margin:0 auto;padding:32px 16px 48px}.widget-wide{max-width:760px}.site-header{border-bottom:1px solid var(--border);align-items:center;gap:14px;margin-bottom:24px;padding-bottom:20px;display:flex}.site-mark{border:1px solid var(--crimson);background:var(--burgundy);width:44px;height:44px;font-family:var(--font-serif);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.6rem;font-style:italic;font-weight:600;line-height:1;display:flex}.site-name{font-family:var(--font-serif);letter-spacing:.02em;margin:0;font-size:1.3rem;font-weight:600}.site-intro{color:var(--muted);margin:2px 0 0;font-size:.85rem}.fine-print{color:var(--muted);font-size:.8rem}h2{font-family:var(--font-serif);letter-spacing:.01em;margin:8px 0 4px;font-size:1.9rem;font-style:italic;font-weight:600}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:24px 0 10px;font-size:.75rem;font-weight:500}.meta-line{color:var(--muted);letter-spacing:.01em;margin:0 0 20px;font-size:.9rem}.empty-state{color:var(--muted)}.back-link{color:var(--muted);font:inherit;letter-spacing:.03em;cursor:pointer;background:0 0;border:none;padding:0 0 16px;font-size:.85rem}a.back-link{text-decoration:none;display:inline-block}.back-link:hover:not(:disabled){color:var(--crimson-text)}.back-link:disabled{opacity:.5;cursor:default}.meeting-type-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.meeting-type-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--crimson);cursor:pointer;width:100%;font:inherit;color:var(--ink);border-radius:3px;flex-direction:column;gap:4px;padding:16px 18px;transition:border-color .15s,box-shadow .15s;display:flex}.meeting-type-card:hover{border-color:var(--border-strong);box-shadow:0 0 0 1px var(--border-strong), 0 4px 20px #a81c2e2e}.meeting-type-name{font-family:var(--font-serif);font-size:1.25rem;font-weight:600}.meeting-type-duration{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.meeting-type-description{color:var(--muted);font-size:.9rem}.calendar{margin-bottom:8px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.calendar-month-label{font-family:var(--font-serif);font-size:1.15rem;font-style:italic;font-weight:600}.calendar-nav{background:var(--surface);border:1px solid var(--border);color:var(--ink);cursor:pointer;border-radius:3px;width:32px;height:32px;font-size:1.1rem;line-height:1}.calendar-nav:hover:not(:disabled){border-color:var(--crimson-bright);color:var(--crimson-text)}.calendar-nav:disabled{opacity:.3;cursor:default}.calendar-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:6px;display:grid}.calendar-weekdays span{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.7rem}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-cell{aspect-ratio:1;color:var(--muted);font:inherit;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;font-size:.85rem;display:flex}.calendar-cell-empty{visibility:hidden}.calendar-cell-available{background:var(--surface);border-color:var(--border);color:var(--ink);cursor:pointer}.calendar-cell-available:hover{border-color:var(--crimson-bright);color:var(--crimson-text);background:var(--surface-hover)}.calendar-cell-selected,.calendar-cell-selected:hover{background:var(--crimson);border-color:var(--crimson);color:var(--ink)}.calendar-cell-today{box-shadow:inset 0 0 0 1px var(--burgundy)}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;display:grid}.slot-button{border:1px solid var(--border);background:var(--surface);cursor:pointer;font:inherit;color:var(--ink);border-radius:3px;padding:10px 4px;transition:border-color .15s,color .15s,background .15s}.slot-button:hover{border-color:var(--crimson-bright);color:var(--crimson-text);background:var(--surface-hover)}.slot-picker{gap:8px 32px;max-width:440px;display:grid}.day-times h3{margin-top:16px}@media (width>=680px){.slot-picker-with-times{grid-template-columns:minmax(0,440px) minmax(180px,1fr);max-width:none}.slot-picker-with-times .day-times h3{margin-top:6px}.slot-picker-with-times .slot-grid{grid-template-columns:1fr;max-height:420px;padding-right:4px;overflow-y:auto}}.booking-form{flex-direction:column;gap:14px;display:flex}.booking-form label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex-direction:column;gap:6px;font-size:.82rem;font-weight:500;display:flex}.booking-form input,.booking-form textarea,.booking-form select{font:inherit;text-transform:none;letter-spacing:normal;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:10px 12px;font-weight:400}.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus{border-color:var(--crimson-bright);outline:none}.booking-form textarea{resize:vertical;min-height:80px}.required-mark{color:var(--error)}.honeypot-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-error{color:var(--error);margin:0}.submit-button{background:var(--crimson);color:var(--ink);border:1px solid var(--crimson);font:inherit;letter-spacing:.04em;cursor:pointer;border-radius:3px;padding:13px;font-weight:500;transition:background .15s,box-shadow .15s}.submit-button:hover:not(:disabled){background:var(--crimson-bright);box-shadow:0 4px 24px #c9273c59}.submit-button:disabled{opacity:.6;cursor:default}.confirmation a{color:var(--crimson-text);word-break:break-all}.confirmation a:hover{color:var(--ink)}
