:root{--ink:#171c25;--muted:#677080;--line:#e2e5eb;--surface:#f5f6f8;--accent:#e5ad42;--danger:#a1272c;--radius:16px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.55}button,input,select{font:inherit}button,a,input{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}h1,h2,p{margin:0}h1{font-size:clamp(1.9rem,3.5vw,2.7rem);line-height:1.16;letter-spacing:-.055em;font-weight:760}h2{font-size:1.16rem;line-height:1.4;letter-spacing:-.025em}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.topbar{background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;padding:20px max(24px,calc((100vw - 1160px)/2))}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:1.3rem;font-weight:800;letter-spacing:.08em}.brand-light{font-weight:400}.brand-mark{font-size:1.4rem;color:var(--ink);background:var(--accent);width:38px;height:38px;display:grid;place-items:center;font-weight:900;border-radius:7px;position:relative;letter-spacing:-.04em}.brand-mark span{height:2px;width:16px;background:var(--ink);position:absolute;bottom:6px}.header-note{font-size:.75rem;letter-spacing:.16em;color:#bac0ca}.page{max-width:1208px;margin:auto;padding:42px 24px 64px}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:34px}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.17em;margin-bottom:12px;color:var(--muted)}.intro-copy{margin-top:12px;color:var(--muted)}.lead-pill{border:1px solid #d9c59b;color:#765018;background:#fffaf0;border-radius:100px;padding:10px 15px;white-space:nowrap;font-size:.875rem}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:36px;align-items:start}.section{padding:28px 0;border-top:1px solid var(--line)}.section:first-child{padding-top:0;border-top:0}.section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:19px}.section-heading p{color:var(--muted);font-size:.875rem;margin-top:3px}.step-number{font-size:.875rem;color:#9ba2ad;font-variant-numeric:tabular-nums;padding-top:3px;font-weight:600}.services{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{position:relative;display:block}.choice input,.barber-choice input{position:absolute;opacity:0;width:1px;height:1px}.service-card{padding:22px;border:1px solid var(--line);border-radius:var(--radius);display:block;background:white;transition:background .15s,border .15s}.service-card strong{display:block;font-size:1.1rem}.service-price{font-size:1.5rem;font-weight:750;letter-spacing:-.04em;display:block;margin-top:16px}.service-meta{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:.875rem;color:var(--muted)}.choice input:checked+.service-card{background:var(--ink);color:white;border-color:var(--ink)}.choice input:checked+.service-card .service-meta{color:#bfc6d1}.choice input:checked+.service-card .service-price{color:#f1bf60}.choice input:focus-visible+.service-card,.barber-choice input:focus-visible+.barber-card{outline:3px solid var(--accent);outline-offset:3px}.barbers{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.barber-choice{position:relative;cursor:pointer}.barber-card{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;padding:17px 5px;font-size:.875rem;font-weight:600;min-height:110px;transition:border .15s,background .15s}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#edf0f4;color:#657082;font-size:1rem;font-weight:600}.barber-choice input:checked+.barber-card{border-color:var(--ink);background:#f3f4f6;box-shadow:inset 0 0 0 1px var(--ink)}.barber-choice input:checked+.barber-card .avatar{color:var(--ink);background:var(--accent)}.date-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px}.date-head strong{font-size:1rem}.date-picker{font-size:.875rem;display:flex;align-items:center;gap:8px;color:var(--muted)}.date-picker input{max-width:151px;color:var(--ink);padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:white;font-size:.875rem}.date-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:22px}.date-button{padding:10px 2px;border:1px solid var(--line);border-radius:10px;background:white;display:flex;flex-direction:column;gap:3px;align-items:center;font-size:.875rem}.date-button strong{font-size:1.25rem;line-height:1.3;font-weight:650}.date-button.active{background:var(--ink);color:white;border-color:var(--ink)}.date-button .day-label{opacity:.7}.slots{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.slot{min-height:45px;border:1px solid var(--line);border-radius:8px;background:white;font-size:.875rem;font-variant-numeric:tabular-nums}.slot:hover:not(:disabled){border-color:var(--ink)}.slot:disabled{color:#a0a6b1;background:#f4f5f7;border-color:#edf0f3;text-decoration:line-through}.slot.active{background:var(--accent);border-color:#c28b25;color:var(--ink);font-weight:750}.slot-status{font-size:.875rem;color:var(--muted);margin:10px 0}.slot-status:empty{display:none}.slot-legend{display:flex;flex-wrap:wrap;gap:17px;color:var(--muted);font-size:.75rem;margin-top:15px}.slot-legend span{display:flex;gap:6px;align-items:center}.legend-dot{width:9px;height:9px;border-radius:3px;border:1px solid #cdd2dc;display:inline-block}.legend-dot.taken{background:#e6e8ed}.legend-dot.available{background:white}.field-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:15px}label{font-size:.875rem;font-weight:550}label input:not([type=radio]):not([type=checkbox]):not([type=date]){display:block;width:100%;margin-top:7px;border:1px solid #d5d9e1;border-radius:9px;padding:12px 14px;background:white;font-size:1rem;color:var(--ink)}.muted{color:var(--muted);font-weight:400}.field-help{font-size:.875rem;color:var(--muted);margin:11px 0 17px}.agreement{display:flex;align-items:flex-start;gap:9px;font-weight:400;color:#495363}.agreement input{width:18px;height:18px;margin:3px 0 0;flex-shrink:0;accent-color:var(--ink)}#turnstile{margin-top:18px}.summary{position:sticky;top:24px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;padding:25px}.summary-head{border-bottom:1px solid var(--line);padding-bottom:22px}.summary-head .eyebrow{font-size:.75rem;margin-bottom:8px}.summary dl{margin:20px 0}.summary dl div{margin-bottom:16px}.summary dt{color:var(--muted);font-size:.875rem}.summary dd{margin:3px 0 0;font-size:1rem;font-weight:600}.summary-price{border-top:1px dashed var(--line);padding-top:20px;display:flex;flex-direction:column;font-size:.875rem;color:var(--muted)}.summary-price strong{font-size:2rem;color:var(--ink);letter-spacing:-.055em;margin-top:4px}.pay-note{font-size:.875rem;color:#596272;margin-top:2px;margin-bottom:24px}.button{display:flex;width:100%;min-height:49px;border:1px solid var(--ink);background:var(--ink);color:white;font-weight:650;align-items:center;justify-content:center;border-radius:9px;text-decoration:none;padding:11px 16px;font-size:.9375rem}.button:hover:not(:disabled){background:#303949}.button:disabled{background:#e8ebef;border-color:#e8ebef;color:#9ba2ad}.button.secondary{background:white;color:var(--ink);border-color:#ccd1db}.summary-note{color:var(--muted);font-size:.875rem;margin-top:17px;line-height:1.6}.mobile-submit{display:none}.notice{border-radius:10px;padding:14px 17px;font-size:.9375rem;margin-top:20px}.notice.error{background:#fff1f1;border:1px solid #f1cdcd;color:var(--danger)}.loading{padding:60px 0;color:var(--muted)}#setup-error .button{margin-top:14px;width:auto}.success{max-width:560px;margin:18px auto;text-align:center}.success-mark{background:#e8f2ee;color:#2b7855;border:1px solid #c6ded4;border-radius:50%;width:64px;height:64px;display:grid;place-items:center;margin:0 auto 22px;font-size:2rem}.success>p:not(.eyebrow){margin-top:13px;color:var(--muted)}.success>.eyebrow{color:#46775e}.receipt{text-align:left;border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin:28px 0}.receipt-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line);padding-bottom:18px;font-size:.875rem}.receipt-top span{font-weight:800;letter-spacing:.04em}.receipt-top strong{font-variant-numeric:tabular-nums}.receipt dl div{display:flex;justify-content:space-between;gap:20px;margin-bottom:12px}.receipt dt{color:var(--muted);font-size:.875rem}.receipt dd{margin:0;text-align:right;font-weight:550;overflow-wrap:anywhere}.receipt-total{display:flex;justify-content:space-between;border-top:1px dashed var(--line);padding-top:20px;align-items:center;gap:15px}.receipt-total strong{font-size:1.6rem;letter-spacing:-.04em}.success-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.success-actions .button{width:auto}.text-button{border:0;background:none;color:var(--muted);padding:12px;width:100%;text-decoration:underline;text-underline-offset:4px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:24px max(24px,calc((100vw - 1160px)/2));gap:20px;font-size:.75rem;color:var(--muted)}footer span:first-child{font-weight:750;letter-spacing:.1em}@media(max-width:900px){.booking-layout{grid-template-columns:minmax(0,1fr) 285px;gap:24px}.page-intro{align-items:flex-start;flex-direction:column;gap:17px}.slots{grid-template-columns:repeat(4,1fr)}.field-grid{grid-template-columns:1fr}.service-card{padding:17px}.summary{padding:20px}}@media(max-width:700px){.topbar{padding:16px 20px}.header-note{font-size:.75rem;letter-spacing:.09em}.brand{font-size:1.1rem;gap:9px}.brand-mark{width:34px;height:34px}.page{padding:28px 20px 35px}.page-intro{margin-bottom:27px}.intro-copy{font-size:.9375rem}.lead-pill{font-size:.875rem;white-space:normal}.booking-layout{grid-template-columns:1fr;gap:0}.summary{position:static;grid-row:2;margin-top:0}.summary #submit{display:none}.summary-price .pay-note{margin-bottom:0}.summary-note{display:none}.summary dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 8px}.summary dl div{margin-bottom:10px}.summary-price{flex-direction:row;align-items:center;flex-wrap:wrap;gap:0 15px}.summary-price strong{margin-left:auto}.summary-price .pay-note{width:100%}.section{padding:24px 0}.service-price{font-size:1.3rem}.service-card strong{font-size:1rem}.service-meta{font-size:.75rem}.barbers{gap:6px}.barber-card{font-size:.875rem;padding:13px 3px;min-height:94px}.avatar{width:35px;height:35px}.date-head{align-items:flex-start;flex-direction:column;gap:12px}.date-picker{width:100%;justify-content:space-between}.date-strip{gap:5px}.date-button{font-size:.75rem;min-width:0}.slots{grid-template-columns:repeat(4,1fr)}.mobile-submit{display:flex;margin-top:22px}.contact-section{padding-bottom:22px}.success-actions .button{width:100%}.receipt{padding:20px}.receipt dl div{gap:12px}.receipt dd{font-size:.9375rem}.success h1{font-size:2rem}footer{padding:21px 20px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.topbar,.page-intro,footer,.success-actions{display:none!important}.page{padding:0}.success{margin:0;max-width:none}.receipt{border-color:#999}.success-mark{display:none}.success .eyebrow{margin-top:20px}}
