/* Barber Studio 05 palette. System fonts and CSS-only motion: no asset downloads. */
:root{--red:#c41e24;--red-dark:#a7181d;--ink:#1e1919;--paper:#f7f5f2;--muted:#706a66;--line:#ded9d3;--white:#fff;--gutter:1.25rem;--max:64rem;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}body{min-height:100dvh}button,input{font:inherit;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--red);outline-offset:3px}.shell{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.masthead{background:#111;color:white}.masthead__bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem var(--gutter)}.masthead__name{margin:0;font-size:1rem;font-weight:800;letter-spacing:.08em}.masthead__note{font-size:.75rem;color:#c7c3c0}.pole{height:3px;background:var(--red)}
.page-title{font-size:clamp(2.6rem,9vw,4.6rem);line-height:1.02;letter-spacing:-.055em;font-weight:800;margin:2.5rem 0 1.2rem}.services-page{padding-top:1rem}.services-page .page-title{font-size:clamp(3.3rem,10vw,6rem);max-width:10ch}.eyebrow{font-size:.68rem;font-weight:700;color:var(--red);letter-spacing:.23em;margin:1.75rem 0 .7rem}.page-sub{font-size:1rem;line-height:1.7;color:var(--muted);margin:0 0 2rem}.board{display:grid;gap:1rem;margin:0 0 1.5rem}.service{position:relative;display:grid;grid-template-columns:1fr auto;gap:.65rem 1rem;width:100%;padding:1.5rem;text-align:left;background:white;border:1px solid var(--line);border-radius:10px;min-height:198px}.service__number{grid-column:1/-1;color:var(--muted);font-size:.65rem;letter-spacing:.15em}.service__name,.service__price{font-size:clamp(1rem,4.3vw,1.45rem);line-height:1.2;font-weight:750;letter-spacing:-.035em}.service__price{color:var(--red);white-space:nowrap}.service__desc{grid-column:1/-1;color:var(--muted);font-size:.88rem;line-height:1.65}.service__bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding-top:.8rem;color:var(--red);font-size:.8rem;font-weight:650}.service__duration{font-size:.66rem;color:var(--muted);font-weight:500;letter-spacing:.08em}.service[aria-pressed=true]{border-color:var(--red);box-shadow:inset 3px 0 var(--red)}.footnote{font-size:.8rem;color:var(--muted);padding-bottom:1rem}.mode-note{font-size:.76rem;color:#665546;border:1px dashed #c9b8a4;border-radius:6px;padding:.8rem 1rem;margin-bottom:1.5rem}.curtain{position:fixed;inset:0;background:var(--paper);opacity:0;pointer-events:none;z-index:90}.curtain.is-on{opacity:1}
.loader{position:fixed;inset:0;z-index:80;display:grid;place-content:center;justify-items:center;gap:1rem;background:var(--paper);padding:1.5rem}.loader.is-out{opacity:0;visibility:hidden}.loader__pole{width:58px;height:58px;border:3px solid var(--line);border-top-color:var(--red);border-radius:50%}.loader__pole .pole{display:none}.loader__text{font-size:1.15rem;font-weight:750;margin:.7rem 0 0}.loader__hint{font-size:.85rem;color:var(--muted);max-width:28ch;text-align:center;margin:0}.chip-service{display:flex;align-items:center;justify-content:space-between;gap:.7rem;width:100%;padding:1rem;background:white;border:1px solid var(--line);border-radius:8px;text-align:left;margin:0 0 1.2rem}.chip-service__label{font-size:.9rem}.chip-service__label b{color:var(--red)}.chip-service__swap{font-size:.75rem;color:var(--muted);border-bottom:1px solid var(--line)}.calendar-help{font-size:.78rem;color:var(--muted);line-height:1.7}.week-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:1.25rem 0}.week-day{display:flex;flex-direction:column;align-items:center;padding:.65rem 0;background:white;border:1px solid var(--line);border-radius:6px;min-height:75px}.week-day span,.week-day small{font-size:.62rem;color:var(--muted)}.week-day b{font-size:1.1rem}.week-day[aria-current=date]{background:var(--red);border-color:var(--red);color:white}.week-day[aria-current=date] span,.week-day[aria-current=date] small{color:white}
.strip-wrap{position:relative;margin:0 calc(var(--gutter)*-1)}.strip{display:flex;position:relative;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-left:62px;padding:0 var(--gutter) 1rem 0;scrollbar-width:thin;scrollbar-color:#b6aca4 transparent}.ruler{position:sticky;left:0;z-index:3;flex:0 0 62px;background:var(--paper);padding-left:var(--gutter);padding-right:6px}.ruler__head,.day__head{height:60px}.ruler__track{position:relative}.ruler__tick{position:absolute;right:7px;transform:translateY(-50%);font-size:.64rem;color:var(--muted)}.day{flex:0 0 105px;scroll-snap-align:start;border-left:1px solid var(--line)}.day:last-child{border-right:1px solid var(--line)}.day__head{display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}.day__dow{font-size:.7rem;color:var(--muted)}.day__dom{font-size:1.2rem;font-weight:750}.day__dom small{font-size:.62rem;font-weight:400}.day--today .day__dom{color:var(--red)}.day__track{position:relative;background:repeating-linear-gradient(to bottom,transparent 0 calc(var(--hour) - 1px),var(--line) calc(var(--hour) - 1px) var(--hour))}.busy{position:absolute;left:0;right:0;background:repeating-linear-gradient(-45deg,#ded9d3 0 5px,#eae6e1 5px 10px);border-block:1px solid #d4cec7}.slot{position:absolute;left:4px;right:4px;display:flex;align-items:center;justify-content:center;padding:0;background:white;border:1px solid #b7aaa1;border-radius:5px;font-size:.8rem;font-variant-numeric:tabular-nums}.slot[aria-pressed=true]{background:var(--red);border-color:var(--red);color:white;font-weight:700}.day__empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:.4rem;background:#f7f5f2dd;color:var(--muted);font-size:.74rem}.legend{display:flex;gap:1rem;margin:.8rem 0;color:var(--muted);font-size:.75rem}.legend span{display:flex;align-items:center;gap:.4rem}.legend i{width:13px;height:13px;border-radius:2px;display:block}.i-free{background:white;border:1px solid #b7aaa1}.i-busy{background:repeating-linear-gradient(-45deg,#bfb7ae 0 3px,#eae6e1 3px 6px)}
.confirm{margin:1.75rem auto 3.5rem;padding-top:1.5rem;border-top:1px solid var(--line);max-width:35rem}.confirm__empty{color:var(--muted);font-size:.9rem}.ticket{padding:1.5rem;background:white;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:8px}.ticket__line1{font-size:1.2rem;font-weight:750;line-height:1.3}.ticket__price{font-size:.78rem;color:var(--red);margin-top:.5rem}.ticket__line2{font-size:.9rem;color:var(--muted);margin-top:.7rem}.ticket__line3{font-size:1.6rem;font-weight:750;letter-spacing:-.035em;margin-top:.35rem}.fields{display:grid;gap:.8rem;margin-top:1.3rem}.field label{display:block;font-size:.8rem;margin-bottom:.3rem}.field input{width:100%;padding:.8rem;background:var(--paper);border:1px solid var(--line);border-radius:5px}.field input::placeholder{color:#827970}.btn-book{width:100%;padding:1rem;margin-top:1.2rem;background:var(--red);color:white;border:0;border-radius:7px;font-weight:700}.msg{font-size:.85rem;padding:.8rem;border-radius:5px;margin-top:.8rem}.msg--error{color:#a01920;background:#fff0f0;border:1px solid #e8b8bb}.done{padding:3rem var(--gutter)}.done__title{font-size:clamp(2rem,8vw,3.2rem);line-height:1.05;letter-spacing:-.04em}.done__body{color:var(--muted);max-width:45ch}.done__again{display:inline-block;color:var(--red);margin-top:1rem;text-underline-offset:4px}
@media(min-width:40rem){.board{grid-template-columns:1fr 1fr}.strip-wrap{margin:0}.strip{padding-right:0;scroll-padding-left:42px}.ruler{flex-basis:42px;padding-left:0}.day{flex:1 0 100px}.week-nav{max-width:40rem}.service{padding:1.75rem}}
/* Short transform/opacity transitions; no videos, GIFs, images or animation libraries. */
@media(prefers-reduced-motion:no-preference){.service{animation:arrive .38s var(--ease) both;transition:transform .18s var(--ease),border-color .18s}.service:nth-child(2){animation-delay:50ms}.service:nth-child(3){animation-delay:100ms}.service:nth-child(4){animation-delay:150ms}.page-title,.ticket{animation:arrive .32s var(--ease) both}.loader__pole{animation:spin .9s linear infinite}.loader{transition:opacity .25s,visibility .25s}.slot,.btn-book,.week-day{transition:transform .14s,background-color .14s}.btn-book:active,.week-day:active{transform:scale(.98)}}
@media(hover:hover){.service:hover{transform:translateY(-3px);border-color:var(--red)}.slot:hover{border-color:var(--red);background:#fff0f0}.slot[aria-pressed=true]:hover,.btn-book:hover{background:var(--red-dark);color:white}.week-day:hover{border-color:var(--red)}}
@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
