:root{--cream:#f8f5ed;--paper:#fffdf8;--green:#263e32;--green-light:#edf1e9;--ink:#26372c;--muted:#72786c;--line:#e5e6da;--clay:#a86c50;--danger:#9a382a;--shadow:0 14px 55px rgba(53,58,33,.045);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a78b53;outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400}p{line-height:1.65}svg{display:block}input,textarea{min-width:0}.page-shell{max-width:1160px;padding:0 48px;margin:auto}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:17px;font-weight:600;text-decoration:none;letter-spacing:-.3px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--green);color:var(--cream);border-radius:50%;font:italic 30px Georgia,serif;padding-bottom:5px}.header-note{font-size:9px;letter-spacing:1.8px;color:var(--muted)}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:42px;align-items:center;padding:65px 0 61px}.eyebrow{font-size:10px;line-height:1.4;letter-spacing:1.65px;font-weight:650;margin-bottom:20px;display:flex;align-items:center;gap:9px}.eyebrow>span{height:6px;width:6px;background:#6e8559;border-radius:50%}h1{font-size:clamp(46px,5vw,64px);letter-spacing:-2px;line-height:1.06;margin-bottom:25px}h1 em{font-weight:400;color:var(--clay)}.hero-description{font-size:14px;line-height:1.9;max-width:405px;margin-bottom:10px;color:#596255}.hero-invitation{font-size:14px;line-height:1.8;margin-bottom:24px}.hero-facts{display:flex;gap:20px;font-size:11px;color:#66715f;align-items:flex-start}.hero-facts>span{display:flex;align-items:center;gap:5px}.hero-facts svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}.hero-facts #hero-location{max-width:220px}.coffee-art{position:relative;max-width:400px;margin:auto;width:100%;text-align:center}.coffee-art svg{width:100%;height:auto}.art-caption{display:block;font:italic 15px Georgia,serif;color:#85745c;transform:rotate(-4deg);margin-top:-18px}.booking-card{border:1px solid #e0e3d5;background:var(--paper);border-radius:15px;box-shadow:var(--shadow);padding:34px 36px 32px;scroll-margin-top:20px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:29px}.card-heading .eyebrow{color:#7b816f;font-size:9px;letter-spacing:1.5px;margin-bottom:9px}.card-heading h2{font-size:29px;letter-spacing:-.6px;line-height:1.2;margin:0}.timezone-pill{flex-shrink:0;display:flex;align-items:center;gap:6px;font-size:10px;background:#f1f1e9;border:1px solid #e9e9dd;border-radius:20px;padding:8px 11px;color:#62705f}.timezone-pill>span:first-child{font-size:15px;line-height:1}.picker-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);padding-top:27px}.time-section{border-left:1px solid var(--line);padding-left:30px}.field-heading{display:flex;gap:9px;align-items:center;font-size:12px;font-weight:600;margin-bottom:16px}.step-number{display:inline-grid;place-items:center;height:22px;width:22px;font-size:10px;border-radius:50%;border:1px solid #dbe0d0;color:#77826c;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;flex-shrink:0}.date-options{display:flex;gap:9px;flex-wrap:wrap}.date-option{border:1px solid #e0e5d7;background:#fffefa;border-radius:9px;min-width:71px;padding:13px 10px;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--ink);transition:background .15s,border-color .15s}.date-option .weekday{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#7d8376}.date-option .day{font:25px Georgia,serif;line-height:1}.date-option .month{font-size:10px;color:#7d8376}.date-option:hover,.time-option:hover{background:#f2f5ed;border-color:#a7b397}.date-option[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}.date-option[aria-pressed=true] .weekday,.date-option[aria-pressed=true] .month{color:#d4dfca}.time-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.time-option{border:1px solid #dce3d4;color:#4e634a;border-radius:7px;padding:11px 5px;background:#fafcf6;font-size:11px;font-weight:550;transition:background .15s,border-color .15s}.time-option[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.small-muted{font-size:10px;line-height:1.6;color:#858b7c;margin:14px 0 0}.selection-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:26px;padding-top:22px}.selection-summary p{font-size:12px;margin:0;line-height:1.7}.selection-summary p strong{display:block;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid var(--green);font-size:12px;font-weight:550;border-radius:7px;padding:14px 20px;text-decoration:none;min-height:44px;transition:background .15s}.button.primary{background:var(--green);color:#fffef7}.button.primary:hover{background:#365340}.button.secondary{background:transparent;color:var(--green);border-color:#b7c0ab}.button.secondary:hover{background:var(--green-light)}.button.danger{color:var(--danger);border-color:#d6aaa0;background:#fff8f4}.button.danger:hover{background:#f9e8df}.button.wide{width:100%;justify-content:space-between}.text-button{background:none;border:0;color:#476244;font-size:12px;padding:7px 0;text-decoration:underline;text-decoration-color:#c8d0bd;text-underline-offset:4px;min-height:34px}.text-button:hover{color:#243d25;text-decoration-color:currentColor}.empty-state{text-align:center;border-top:1px solid var(--line);padding:34px 20px 14px;max-width:100%;margin:auto}.empty-state .empty-icon{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;background:#f1eee3;margin:0 auto 16px;font-size:22px}.empty-state h3{font-size:24px;margin-bottom:10px;letter-spacing:-.3px}.empty-state p{font-size:13px;color:#76806c;max-width:420px;margin:0 auto 12px}.loading-dot{display:block;width:9px;height:9px;background:#8b9c76;border-radius:50%;margin:12px auto;animation:breathe 1s ease-in-out infinite alternate}@keyframes breathe{to{opacity:.2;transform:scale(.8)}}.below-card{font-size:11px;text-align:center;color:#7d8376;margin:22px 0 62px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:24px 0 30px;color:#838779;font-size:10px}.site-footer>span:nth-child(2){font-size:8px;letter-spacing:1.4px}.site-footer>span:first-child{font-family:Georgia,serif;font-size:13px;color:#58664f}.notice{font-size:12px;line-height:1.6;border-radius:7px;padding:13px 15px;background:#f5f0e3;color:#766135;border:1px solid #e9dfc8;margin-bottom:20px}.notice.error{background:#fff2ea;color:#8a3f2c;border-color:#ebc6b6}.back-button{margin-top:-8px;margin-bottom:23px}.details-layout{display:grid;grid-template-columns:.8fr 1fr;gap:60px;border-top:1px solid var(--line);padding-top:28px}.details-intro h3{font-size:29px;margin:16px 0 10px;letter-spacing:-.6px}.details-intro>p{font-size:13px;color:#75806c;max-width:220px}.appointment-summary{font-size:13px;line-height:1.8;background:#f3f4ec;border-radius:9px;padding:17px 19px;margin-top:24px}.appointment-summary p{margin:0}.appointment-summary strong{font-weight:600}.appointment-summary .muted{font-size:11px}.stack-form{display:flex;flex-direction:column;gap:17px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:12px;font-weight:550}.field .optional{font-size:10px;font-weight:400;color:#878d7d;padding-left:5px}.field input,.field textarea{background:#fffefb;border:1px solid #dce1d3;border-radius:6px;padding:12px;color:var(--ink);font-size:13px;width:100%}.field input::placeholder,.field textarea::placeholder{color:#9aa18e}.field textarea{resize:vertical}.field-hint,.privacy-note{font-size:10px;line-height:1.6;color:#7d8474;margin:0}.privacy-note{text-align:center}.form-error{font-size:12px;color:var(--danger);margin:0;padding:11px 13px;background:#fff0e8;border-radius:6px}.booking-result{border-top:1px solid var(--line);padding-top:30px}.result-header{text-align:center;margin-bottom:26px}.success-icon{display:grid;place-items:center;width:46px;height:46px;background:#eaf0e2;color:#536d3d;border-radius:50%;font-size:24px;margin:0 auto 14px}.result-header h3{font-size:33px;margin-bottom:9px;letter-spacing:-.5px}.result-header p{font-size:13px;color:#75806c;margin-bottom:0}.result-details{max-width:480px;margin:auto}.result-details .appointment-summary{margin:0}.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}.result-notice{margin-top:20px}.manage-link-box{display:flex;gap:8px;margin:8px 0 10px}.manage-link-box input{border:1px solid #dce1d3;border-radius:6px;min-width:0;width:100%;font-size:11px;padding:9px;background:#fffefb;color:#657259}.manage-link-box button{padding:8px 13px;min-height:38px;font-size:11px}.confirmation-label{font-size:11px;font-weight:550;margin:19px 0 0}.manage-actions{border-top:1px solid var(--line);margin-top:25px;padding-top:14px;display:flex;gap:25px;justify-content:center}.danger-text{color:var(--danger)}.cancel-confirmation{background:#fff4ec;border:1px solid #ead0bf;padding:18px;border-radius:8px;margin-top:20px}.cancel-confirmation p{font-size:13px;margin-bottom:15px}.cancel-confirmation .result-actions{justify-content:flex-start;margin-top:0}.muted{color:var(--muted)}.skip-link{position:fixed;top:-100px;left:20px;background:var(--green);color:white;z-index:10;padding:12px;border-radius:5px}.skip-link:focus{top:10px}.admin-shell{max-width:1160px}.admin-hero{padding:46px 0 28px;display:flex;justify-content:space-between;gap:20px;align-items:center}.admin-hero h1{font-size:44px;letter-spacing:-1.5px;margin-bottom:12px}.admin-hero p{font-size:13px;color:var(--muted);margin:0}.admin-hero .eyebrow{font-size:9px;margin:0 0 12px}.login-card{max-width:460px;margin:55px auto 80px}.login-card h1{font-size:36px;letter-spacing:-1px}.login-card>p{font-size:13px;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.admin-card{padding:26px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin-bottom:22px}.admin-card h2{font-size:25px;letter-spacing:-.4px;margin-bottom:10px}.admin-card>p{font-size:12px;color:var(--muted);margin-bottom:20px}.window-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:10px}.window-row .field input{padding:10px 8px;min-height:43px;font-size:12px}.window-row .field label{font-size:10px}.admin-form{gap:14px}.admin-subheading{display:flex;align-items:center;justify-content:space-between;gap:15px}.admin-subheading h2{margin:0}.count-badge{background:#edf1e6;border-radius:20px;padding:5px 9px;font-size:10px;white-space:nowrap}.admin-list{margin-top:20px}.admin-list-empty{font-size:12px;color:var(--muted);padding:20px 0 0;border-top:1px solid var(--line)}.slot-row{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line)}.slot-row p{font-size:12px;line-height:1.5;margin:0}.slot-row .muted{font-size:10px}.slot-row .text-button{font-size:10px}.booked-label{font-size:10px;color:#728366;background:#eff3e9;border-radius:5px;padding:6px 9px}.booking-admin{border-top:1px solid var(--line);padding:18px 0}.booking-admin:last-child{padding-bottom:0}.booking-admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.booking-admin h3{font-family:inherit;font-size:14px;font-weight:600;margin-bottom:6px}.booking-admin p{font-size:12px;margin-bottom:6px;line-height:1.6;overflow-wrap:anywhere}.booking-admin a{color:#627953;font-size:11px;text-decoration:none}.booking-admin-actions{display:flex;gap:20px;margin-top:6px}.booking-admin-actions .text-button{font-size:10px}.booking-admin-note{background:#f5f4eb;border-radius:5px;padding:10px 12px;margin-top:10px;color:#77816c;white-space:pre-wrap}.status-tag{font-size:9px;text-transform:uppercase;letter-spacing:.6px;border-radius:20px;background:#edf3e6;padding:6px 8px;color:#5b7645}.status-tag.cancelled{background:#f0efea;color:#909182}.admin-success{color:#496938;background:#edf5e6;border-color:#d5e3c7}.share-link-row{display:flex;gap:10px;align-items:center}.share-link-row input{background:#f7f7ef;border:1px solid var(--line);border-radius:6px;padding:12px;font-size:12px;width:100%;color:#53634b}.share-link-row button{flex-shrink:0}.admin-notice{margin-bottom:22px}.inline-error{font-size:11px;color:var(--danger);margin-top:10px}.toolbar{display:flex;gap:13px;align-items:center}.toolbar .text-button{font-size:11px}.admin-footer{margin-top:34px}.notification-status{display:flex;gap:8px;align-items:center;font-size:11px;margin-bottom:13px;color:#6b775c}.status-dot{width:7px;height:7px;border-radius:50%;background:#be9b59;flex-shrink:0}.status-dot.ready{background:#698a4c}.admin-wide{grid-column:1 / -1}
@media(max-width:850px){.page-shell{padding:0 30px}.hero{gap:16px;padding:48px 0}.hero-facts{gap:12px;flex-wrap:wrap}.hero-description{font-size:13px}.coffee-art{max-width:320px}.booking-card{padding:28px}.picker-layout{gap:22px}.time-section{padding-left:22px}.time-options{grid-template-columns:repeat(2,minmax(0,1fr))}.details-layout{gap:30px}.admin-grid{grid-template-columns:1fr}.admin-wide{grid-column:auto}}
@media(max-width:600px){.page-shell{padding:0 20px}.site-header{height:85px}.brand{font-size:15px}.brand-mark{width:34px;height:34px;font-size:27px}.header-note{display:none}.hero{padding:39px 0 35px;display:block;position:relative}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:9px;margin-bottom:17px}h1{font-size:49px;letter-spacing:-1.8px;max-width:315px}.hero-description{max-width:340px;font-size:13px;line-height:1.8}.hero-invitation{font-size:12px;max-width:260px}.hero-facts{font-size:10px;gap:10px}.hero-facts #hero-location{max-width:170px}.coffee-art{position:absolute;width:119px;right:-11px;top:92px;opacity:.68;z-index:0;pointer-events:none}.art-caption{display:none}.booking-card{padding:24px 20px 25px;border-radius:12px}.card-heading{display:block;margin-bottom:23px}.card-heading h2{font-size:26px}.timezone-pill{display:inline-flex;margin-top:15px;font-size:9px;padding:7px 9px}.picker-layout{grid-template-columns:1fr;gap:24px;padding-top:23px}.time-section{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:23px}.date-options{gap:8px}.date-option{min-width:calc((100% - 32px)/5);flex-grow:1;max-width:85px;padding:12px 8px}.time-options{grid-template-columns:repeat(3,minmax(0,1fr))}.time-option{padding:12px 6px}.selection-summary{align-items:stretch;flex-direction:column;gap:15px}.selection-summary .button{justify-content:space-between}.below-card{font-size:10px;margin:19px 16px 38px}.site-footer{flex-wrap:wrap;gap:15px;justify-content:space-between;padding-top:22px}.site-footer>span:nth-child(2){order:3;width:100%;text-align:center;font-size:7px}.empty-state{padding:28px 0 6px}.empty-state h3{font-size:23px}.empty-state p{font-size:12px}.details-layout{grid-template-columns:1fr;gap:23px;padding-top:23px}.details-intro>.step-number{display:none}.details-intro h3{font-size:26px;margin-top:0}.details-intro>p{max-width:none;margin-bottom:15px}.appointment-summary{margin-top:0;padding:14px 16px;font-size:12px}.result-header h3{font-size:29px}.result-header p{font-size:12px}.result-actions .button{flex:1;min-width:130px;font-size:11px;padding:12px 13px}.result-notice{font-size:11px}.admin-hero{align-items:flex-start;flex-direction:column;padding:35px 0 25px}.admin-hero h1{font-size:37px}.admin-card{padding:22px 19px}.admin-card h2{font-size:24px}.window-row{gap:7px;grid-template-columns:1fr 1fr}.window-row .field:first-child{grid-column:1 / -1}.login-card{margin:35px auto 50px}.share-link-row{flex-wrap:wrap}.share-link-row input{width:100%}.share-link-row .button{width:100%}.admin-list{max-height:570px;overflow:auto}.booking-admin-header{gap:10px}.booking-admin-actions{gap:12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.personal-note{font:italic 16px/1.75 Georgia,"Times New Roman",serif;color:#74624c;border-left:2px solid #cdb594;padding-left:16px;max-width:430px;margin:20px 0;white-space:pre-line;overflow-wrap:anywhere}.invitation-greeting{display:block;font:italic 29px/1.3 Georgia,"Times New Roman",serif;color:var(--clay);letter-spacing:-.6px;margin-bottom:15px;overflow-wrap:anywhere}.invitation-fields{display:grid;grid-template-columns:1fr 1.4fr;gap:20px}.invitations-card>.admin-subheading{margin-bottom:12px}.invitations-card #create-invitation{align-self:flex-start}.invitation-item{padding:20px 0;border-top:1px solid var(--line)}.invitation-item:last-child{padding-bottom:0}.invitation-item-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.invitation-item h3{font:600 14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0}.invitation-item .personal-note{font-size:13px;margin:12px 0}.invitation-item .share-link-row{margin-top:12px}.invitation-item .share-link-row input{font-size:11px}.invitation-actions{display:flex;align-items:center;gap:20px;margin-top:8px}.invitation-actions .text-button{font-size:10px}.invitation-revoked{font-size:11px;color:var(--muted);margin:9px 0 0}.saved-booking-link{display:inline-block;margin-bottom:15px}@media(max-width:600px){.invitation-fields{grid-template-columns:1fr;gap:15px}.invitation-greeting{font-size:24px;margin-bottom:12px}.personal-note{font-size:14px;margin:17px 0}.invitations-card .admin-subheading{align-items:flex-start}.invitations-card .admin-subheading h2{max-width:210px}.invitations-card #create-invitation{width:100%;justify-content:space-between}.invitation-item .share-link-row input{font-size:10px}.hero:has(.invitation-greeting) .coffee-art{top:136px;width:103px;opacity:.5}}

.email-overview{border-top:1px solid var(--line);padding-top:17px}.email-overview>.field-hint+.field-hint{margin-top:7px}.email-overview .notice{margin:12px 0 0}.email-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:15px 0 10px}.email-actions .button{font-size:11px;padding:11px 14px}.booking-email-status{border-left:2px solid #d8dfcc;padding-left:12px;margin:14px 0}.email-recipient-status{display:flex;flex-wrap:wrap;gap:5px 24px;font-size:11px;line-height:1.7;color:var(--muted)}.email-recipient-status strong{font-weight:500;color:var(--ink)}
