@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600;700&display=swap";
:root{--paper:#f6f3ed;--paper-white:#fbfaf7;--ink:#121210;--red:#c53340;--blue:#24499d;--mist:#797771;--line:#12121029;--display:"Instrument Serif", Georgia, serif;--sans:"Manrope", Arial, sans-serif;--mono:"DM Mono", monospace}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}::selection{background:var(--red);color:#fff}:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:9px}.honeypot{width:0;height:0;position:absolute;overflow:hidden}.brand-mark{background:linear-gradient(135deg, var(--red) 0 31%, var(--paper-white) 31% 45%, var(--blue) 45% 69%, var(--paper-white) 69% 83%, var(--red) 83% 100%);isolation:isolate;border:1px solid #1212108c;border-radius:999px;flex:0 0 38px;width:38px;height:20px;display:inline-block;position:relative;overflow:hidden;transform:rotate(-8deg);box-shadow:3px 3px #24499d2e,inset 2px 0 2px #ffffffb3,inset -3px 0 4px #0000002e}.brand-mark i{display:none}.brand-mark:before{content:"";z-index:1;background:linear-gradient(90deg,#ffffff8f,#0000 41%,#00000026);position:absolute;inset:0}.brand-mark.compact{transform:rotate(-8deg)}.wordmark{align-items:center;gap:10px;display:inline-flex}.brand-name{font-family:var(--mono);text-transform:uppercase;flex-direction:column;line-height:1;display:inline-flex}.brand-name small{color:var(--mist);letter-spacing:.24em;margin-bottom:4px;font-size:7px}.brand-name strong{letter-spacing:.15em;font-size:10px;font-weight:500}.site-shell{overflow:hidden}.site-nav{border-bottom:1px solid var(--line);z-index:10;background:#f6f3ede6;justify-content:space-between;align-items:center;height:78px;padding:0 clamp(20px,4vw,68px);display:flex;position:relative}.nav-cta{border-bottom:1px solid var(--ink);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:14px;padding:0 0 7px;font-size:9px;transition:color .2s,border-color .2s;display:inline-flex}.nav-cta span{color:var(--red);font-size:15px;line-height:.5}.nav-cta:hover{border-color:var(--red);color:var(--red)}.home-appointment{background:var(--paper-white)}.home-brand-panel{background:var(--paper-white);border-bottom:1px solid var(--line);isolation:isolate;height:clamp(152px,15.2vw,226px);padding:18px clamp(20px,4vw,68px);position:relative;overflow:hidden}.home-brand-panel:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(110deg,#0000 0 47.8%,#12121014 47.95% 48.08%,#0000 48.24%);position:absolute;inset:0}.home-brand-panel:after{background:linear-gradient(90deg, var(--paper-white), transparent 14%, transparent 86%, var(--paper-white));content:"";pointer-events:none;z-index:4;position:absolute;inset:0}.hero-counterflow{background:repeating-linear-gradient(90deg, var(--red) 0 18px, var(--paper-white) 18px 28px, var(--blue) 28px 46px, var(--paper-white) 46px 56px);opacity:.075;will-change:transform;z-index:0;animation:15s linear infinite counterflow-drift;position:absolute;inset:-128px -180px -128px 42%;transform:skew(-36deg)translate(0,0);-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 84%,#0000);mask-image:linear-gradient(90deg,#0000,#000 18% 84%,#0000)}.hero-title-wrap{z-index:2;align-items:center;height:100%;display:flex;position:relative}.hero-title-wrap h1{font-family:var(--display);letter-spacing:-.09em;white-space:nowrap;flex-direction:column;margin:0 0 0 -.06em;font-size:clamp(66px,9.9vw,151px);font-weight:400;line-height:.58;display:flex}.hero-service{color:var(--blue);font-family:var(--mono);letter-spacing:.31em;text-transform:uppercase;margin:0 0 clamp(8px,1vw,13px) .12em;font-size:clamp(8px,1vw,13px);line-height:1}.hero-name{align-items:baseline;display:inline-flex}.hero-name span:first-child{color:var(--ink)}.hero-name span:last-child{color:var(--red)}.hero-object{background:var(--paper-white);z-index:3;border:1px solid #12121073;border-radius:999px;width:clamp(198px,21vw,326px);height:clamp(37px,4.55vw,61px);position:absolute;top:52%;right:clamp(26px,7vw,140px);overflow:hidden;transform:translateY(-50%)rotate(-7deg);box-shadow:15px 17px #24499d24,inset 0 0 0 1px #ffffff8f}.hero-stripe-layer{background:repeating-linear-gradient(90deg, var(--red) 0 18px, var(--paper-white) 18px 28px, var(--blue) 28px 46px, var(--paper-white) 46px 56px);will-change:transform;z-index:1;animation:2.9s linear infinite barber-stripes-drift;display:block;position:absolute;inset:-72px;transform:skew(-36deg)translate(0,0)}.hero-object:before{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,#ffffffb8,#ffffff0f 37%,#0000002e);position:absolute;inset:0}.hero-object:after{background:linear-gradient(90deg, var(--paper-white), transparent 13%, transparent 85%, var(--paper-white));content:"";pointer-events:none;z-index:3;position:absolute;inset:0}.booking-flow{max-width:1540px;margin:0 auto;padding:clamp(54px,7vw,108px) clamp(20px,4vw,68px) clamp(70px,9vw,130px)}.booking-flow-home{max-width:none;padding-top:clamp(42px,5.4vw,80px)}.booking-intro{border-bottom:2px solid var(--ink);grid-template-columns:1fr auto;align-items:end;margin-bottom:clamp(36px,5vw,70px);padding-bottom:19px;display:grid}.booking-intro .eyebrow{align-self:start}.booking-intro h1,.booking-intro h2{font-family:var(--display);letter-spacing:-.095em;grid-column:1/-1;margin:36px 0 26px -.065em;font-size:clamp(88px,13.5vw,208px);font-weight:400;line-height:.63}.booking-flow-home .booking-intro h2{margin:0 0 19px -.065em;font-size:clamp(80px,10.8vw,168px)}.booking-intro h1 span,.booking-intro h2 span{color:var(--red)}.booking-intro p{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:9px}.booking-grid{grid-template-columns:minmax(0,1.58fr) minmax(290px,.62fr);align-items:start;gap:clamp(30px,5.2vw,84px);display:grid}.calendar-panel{background:var(--paper-white);border:1px solid var(--ink);min-width:0;padding:clamp(18px,2.55vw,38px);box-shadow:12px 13px #1212100d}.step-title{justify-content:space-between;align-items:baseline;display:flex}.step-title>span{color:var(--red);font-family:var(--mono);letter-spacing:.13em;font-size:9px}.step-title h2{font-family:var(--display);letter-spacing:-.06em;margin:0;font-size:clamp(31px,3vw,45px);font-weight:400;line-height:.8}.week-picker{border-bottom:1px solid var(--line);text-align:center;grid-template-columns:34px 1fr 34px;align-items:center;margin:clamp(28px,4vw,52px) 0 20px;padding-bottom:16px;display:grid}.week-picker button{color:var(--ink);background:0 0;border:0;height:34px;padding:0;font-size:20px;transition:color .2s,transform .2s}.week-picker button:not(:disabled):hover{color:var(--red);transform:translate(-2px)}.week-picker button:last-child:not(:disabled):hover{transform:translate(2px)}.week-picker button:disabled{color:#cfcac1}.week-picker span{color:var(--mist);font-family:var(--mono);letter-spacing:.13em;margin-bottom:8px;font-size:8px;display:block}.week-picker strong{font-family:var(--display);letter-spacing:-.045em;text-transform:capitalize;font-size:clamp(21px,2vw,29px);font-weight:400}.days-grid{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.date-tab{border:0;border-right:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;place-items:start;gap:7px;min-height:96px;padding:14px 10px 12px;transition:background .18s,color .18s;display:grid;position:relative}.date-tab:first-child{border-left:1px solid var(--line)}.date-tab:after{background:var(--blue);content:"";transform-origin:0;height:2px;transition:transform .25s;position:absolute;bottom:0;left:9px;right:9px;transform:scaleX(0)}.date-tab:hover{background:#24499d0e}.date-tab:hover:after{transform:scaleX(1)}.date-tab.selected{background:var(--red);color:#fff}.date-tab.selected:after{background:#fff;transform:scaleX(1)}.date-tab span,.date-tab em{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-style:normal}.date-tab strong{font-family:var(--display);letter-spacing:-.06em;font-size:clamp(27px,3vw,37px);font-weight:400;line-height:.76}.date-tab em{color:var(--mist);margin-top:auto}.date-tab.selected em{color:#ffffffbf}.slot-stage{min-height:157px;padding-top:23px;animation:.32s cubic-bezier(.2,.75,.2,1) stage-arrive}.slot-stage-heading{justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:15px;display:flex}.slot-stage-heading span{font-family:var(--display);letter-spacing:-.045em;text-transform:capitalize;font-size:clamp(23px,2.3vw,31px)}.slot-stage-heading b{color:var(--mist);font-family:var(--mono);letter-spacing:.1em;text-align:right;font-size:8px;font-weight:400}.slot-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.time-slot{border:1px solid var(--line);color:var(--ink);font-family:var(--mono);background:0 0;min-height:47px;padding:12px 5px;font-size:11px;transition:background .18s,border-color .18s,color .18s,transform .18s;position:relative}.time-slot:hover{background:var(--ink);border-color:var(--ink);color:var(--paper-white);transform:translateY(-3px)}.time-slot.selected{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-3px)}.time-slot.selected:after{content:"✓";font-family:var(--sans);border:1px solid #ffffffc7;border-radius:50%;width:14px;height:14px;font-size:8px;line-height:12px;position:absolute;top:5px;right:5px}.time-slot.occupied{color:var(--red);cursor:default;background:repeating-linear-gradient(135deg,#c5334021 0 5px,#0000 5px 10px);border-color:#c5334075;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;transform:none}.time-slot.occupied time{font-family:var(--mono);font-size:10px}.time-slot.occupied small{font-family:var(--mono);letter-spacing:.09em;font-size:7px}.no-slots{color:var(--mist);font-family:var(--mono);text-transform:uppercase;grid-column:1/-1;padding:18px 0;font-size:9px}.calendar-loading{color:var(--mist);font-family:var(--mono);text-align:center;min-height:290px;padding-top:125px;font-size:10px}.details-panel{border-top:2px solid var(--ink);padding-top:16px;position:sticky;top:18px}.details-panel .step-title{margin-bottom:22px}.selected-summary{border:1px solid var(--line);background:linear-gradient(90deg,#24499d0f,#0000);min-height:90px;margin-bottom:25px;padding:15px 18px;transition:border-color .2s,background .2s;position:relative;overflow:hidden}.selected-summary:before,.selected-summary:after{background:var(--paper);content:"";border-radius:50%;width:16px;height:16px;position:absolute;right:-8px}.selected-summary:before{top:-8px}.selected-summary:after{bottom:-8px}.selected-summary[data-selected=true]{border-color:var(--ink);background:linear-gradient(100deg,#c5334021,#24499d0f)}.selected-summary span{color:var(--mist);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:8px;display:block}.selected-summary strong{font-family:var(--display);letter-spacing:-.035em;text-transform:capitalize;margin-top:10px;font-size:23px;font-weight:400;line-height:1.06;display:block}.details-panel label,.edit-modal label,.admin-login-card label{color:var(--ink);font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;margin-top:17px;font-size:9px;display:block}.details-panel label small{color:var(--mist);letter-spacing:.04em;font-size:8px}.details-panel input,.edit-modal input,.admin-login-card input{border:0;border-bottom:1px solid var(--line);color:var(--ink);font-family:var(--sans);background:0 0;border-radius:0;outline:0;width:100%;margin-top:8px;padding:11px 0 12px;font-size:14px;transition:border-color .2s;display:block}.details-panel input:focus,.edit-modal input:focus,.admin-login-card input:focus{border-color:var(--blue)}.details-panel input::placeholder{color:#a8a39a}.book-button{background:var(--ink);border:1px solid var(--ink);color:var(--paper-white);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;width:100%;min-height:51px;margin-top:28px;padding:15px 17px;font-size:10px;transition:background .2s,color .2s,transform .2s}.book-button:not(:disabled):hover{background:var(--red);border-color:var(--red);transform:translateY(-2px)}.book-button:disabled{color:#77736c;background:#ccc7bd;border-color:#ccc7bd}.privacy-note{color:var(--mist);max-width:410px;margin:16px 0 0;font-size:10px;line-height:1.65}.privacy-note a{border-bottom:1px solid}.form-error{color:#851b28;background:#f3d9d7;margin:15px 0;padding:11px 13px;font-size:11px;line-height:1.45}.studio-details{grid-template-columns:1fr auto;align-items:center;gap:35px;margin:0 clamp(20px,4vw,68px);padding:clamp(36px,5vw,78px) 0;display:grid}.studio-details dl{grid-template-columns:repeat(3,minmax(130px,1fr));gap:0;margin:0;display:grid}.studio-details dl div{border-left:1px solid var(--line);padding:0 clamp(18px,2.2vw,34px)}.studio-details dl div:first-child{border-left:0;padding-left:0}.studio-details dt{color:var(--mist);font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;margin-bottom:13px;font-size:8px}.studio-details dd{font-family:var(--display);letter-spacing:-.045em;margin:0;font-size:clamp(20px,2vw,29px);line-height:1.08}.studio-details dd span{display:block}.studio-details dd a{border-bottom:1px solid var(--ink)}.studio-details dl.details-count-1{grid-template-columns:1fr;max-width:400px}.detail-booking{background:var(--red);color:#fff;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:39px;padding:15px 16px;font-size:9px;transition:background .2s,transform .2s;display:inline-flex}.detail-booking:hover{background:var(--blue);transform:translateY(-2px)}.detail-booking span{font-size:16px;line-height:.5}.site-footer{border-top:1px solid var(--line);font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:22px clamp(20px,4vw,68px);font-size:8px;display:flex}.footer-brand{align-items:center;gap:7px;display:flex}.footer-brand .brand-mark{transform-origin:0;width:23px;transform:rotate(-8deg)scale(.67)}.footer-brand .brand-name small{margin-bottom:3px;font-size:6px}.footer-brand .brand-name strong{letter-spacing:.13em;font-size:8px}.site-footer a{border-bottom:1px solid var(--ink);padding-bottom:4px}.confirmation-panel{max-width:850px;margin:0 auto;padding:clamp(68px,12vw,180px) clamp(20px,4vw,68px);position:relative}.confirmation-panel:before{border-bottom:2px solid var(--ink);border-top:2px solid var(--ink);content:"";position:absolute;inset:clamp(52px,9vw,120px) clamp(20px,4vw,68px) auto}.confirmation-number{background:var(--red);color:#fff;font-family:var(--mono);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:inline-flex}.confirmation-panel .eyebrow{margin-top:38px;display:block}.confirmation-panel h1{font-family:var(--display);letter-spacing:-.095em;margin:36px 0 47px -.065em;font-size:clamp(76px,13vw,165px);font-weight:400;line-height:.61}.confirmation-panel h1 em{color:var(--red);font-style:normal}.confirmation-time{font-family:var(--display);letter-spacing:-.05em;text-transform:capitalize;font-size:clamp(24px,3vw,38px);line-height:1.05}.confirmation-note{color:var(--mist);margin-top:10px;font-size:13px}.outline-cta{border-bottom:1px solid var(--ink);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-top:36px;padding-bottom:7px;font-size:9px;display:inline-block}.booking-page{background:var(--paper);min-height:100vh}.booking-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:78px;padding:0 clamp(20px,4vw,68px);display:flex}.back-link{border-bottom:1px solid var(--ink);font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;padding-bottom:6px;font-size:9px}.legal-page{max-width:920px;margin:0 auto;padding:clamp(36px,7vw,105px) clamp(20px,4vw,68px)}.legal-page .back-link{margin-bottom:clamp(70px,12vw,150px);display:inline-block}.legal-page>.eyebrow{display:block}.legal-page h1{font-family:var(--display);letter-spacing:-.09em;margin:35px 0 55px -.06em;font-size:clamp(62px,11vw,155px);font-weight:400;line-height:.63}.legal-page h1 em{color:var(--red);font-style:normal}.legal-page p{max-width:670px;font-size:14px;line-height:1.8}.admin-page{max-width:1500px;margin:0 auto;padding:clamp(25px,5vw,76px)}.admin-header{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:end;padding-bottom:21px;display:flex}.admin-header h1{font-family:var(--display);letter-spacing:-.09em;margin:18px 0 0 -.05em;font-size:clamp(62px,7vw,105px);font-weight:400;line-height:.65}.quiet-button,.row-actions button,.block-list button{border:0;border-bottom:1px solid var(--line);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:0 0 4px;font-size:9px}.admin-stats{grid-template-columns:repeat(3,1fr);display:grid}.admin-stats div{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:21px 18px 21px 0}.admin-stats div+div{padding-left:18px}.admin-stats div:last-child{border-right:0}.admin-stats span{color:var(--mist);font-family:var(--mono);letter-spacing:.12em;font-size:8px;display:block}.admin-stats strong{font-family:var(--display);margin-top:7px;font-size:28px;font-weight:400;display:block}.admin-tabs{border-bottom:1px solid var(--line);gap:28px;padding-top:37px;display:flex}.admin-tabs button{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 0 13px;font-size:9px}.admin-tabs button.active{border-bottom-color:var(--red);color:var(--red)}.admin-section{padding-top:38px}.admin-section-heading{justify-content:space-between;align-items:end;display:flex}.admin-section-heading h2{font-family:var(--display);letter-spacing:-.055em;margin:10px 0 0;font-size:43px;font-weight:400;line-height:.85}.small-cta{background:var(--ink);color:var(--paper-white);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:0;padding:13px 15px;font-size:9px}.admin-inline-form,.block-form{grid-template-columns:1.15fr 1fr 1.2fr auto;gap:8px;margin:31px 0 21px;display:grid}.admin-inline-form input,.block-form input,.window-input input{border:1px solid var(--line);background:0 0;border-radius:0;min-width:0;padding:12px;font-size:12px}.appointment-list,.block-list,.schedule-editor{border-top:1px solid var(--line)}.appointment-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(170px,1.2fr) minmax(120px,1fr) 55px auto;align-items:center;gap:20px;padding:16px 0;display:grid}.appointment-row time{font-family:var(--display);text-transform:capitalize;font-size:22px}.appointment-row strong,.block-list strong{font-size:12px;display:block}.appointment-row span,.block-list span{color:var(--mist);margin-top:5px;font-size:10px;display:block}.appointment-row .status-label{color:var(--blue);font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;font-size:8px}.appointment-row.cancelled{opacity:.48}.appointment-row.cancelled .status-label,.row-actions button:last-child,.block-list button{color:var(--red)}.row-actions{justify-content:end;gap:14px;display:flex}.empty-state{color:var(--mist);padding:26px 0;font-size:12px}.admin-error{margin-bottom:0}.admin-hint{color:var(--mist);margin:25px 0;font-size:11px}.schedule-day{border-bottom:1px solid var(--line);grid-template-columns:170px 1fr;align-items:start;padding:16px 0;display:grid}.schedule-day>strong{font-family:var(--display);font-size:24px;font-weight:400}.schedule-windows{flex-wrap:wrap;gap:7px;display:flex}.window-input{align-items:center;gap:6px;display:flex}.window-input input{padding:7px}.window-input button{color:var(--red);background:0 0;border:0;font-size:20px}.add-window{border:1px dashed var(--line);font-family:var(--mono);letter-spacing:.05em;background:0 0;padding:8px 10px;font-size:8px}.block-form{grid-template-columns:1fr 1.2fr 1.2fr auto}.block-form label{color:var(--mist);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;font-size:8px}.block-form label input{width:100%;margin-top:4px;display:block}.block-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 0;display:flex}.modal-backdrop{z-index:20;background:#121210b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.edit-modal{background:var(--paper-white);width:100%;max-width:440px;padding:34px;position:relative}.edit-modal h2{font-family:var(--display);letter-spacing:-.06em;margin:16px 0 8px;font-size:48px;font-weight:400}.modal-close{background:0 0;border:0;font-size:25px;position:absolute;top:10px;right:14px}.admin-login-page{background:var(--paper);align-items:center;min-height:100vh;padding:25px;display:grid;position:relative}.admin-login-page:before{content:"";pointer-events:none;background:linear-gradient(122deg,#0000 0 45%,#c5334017 45.1% 46.1%,#0000 46.2% 50%,#24499d1a 50.1% 51.1%,#0000 51.2%);position:absolute;inset:0}.admin-login-page .back-link{z-index:1;position:absolute;top:30px;left:clamp(20px,4vw,68px)}.admin-login-card{border:1px solid var(--ink);background:#fbfaf7eb;width:100%;max-width:440px;margin:auto;padding:clamp(26px,4vw,48px);position:relative;box-shadow:15px 16px #24499d24}.admin-login-card h1{font-family:var(--display);letter-spacing:-.075em;margin:37px 0 44px -.05em;font-size:65px;font-weight:400;line-height:.7}.appointment-row{grid-template-columns:minmax(0,1fr) auto}.appointment-reveal{color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:minmax(170px,1.2fr) 55px minmax(150px,1fr);align-items:center;gap:20px;width:100%;padding:0;display:grid}.appointment-reveal:hover time{color:var(--red)}.appointment-reveal time{font-family:var(--display);text-transform:capitalize;font-size:22px;transition:color .18s}.appointment-reveal>div strong{font-size:12px;display:block}.appointment-reveal>div span{color:var(--mist);margin-top:5px;font-size:10px;display:block}.appointment-reveal .status-label{color:var(--blue);font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:8px}.appointment-row.cancelled .appointment-reveal .status-label{color:var(--red)}.admin-calendar{border:1px solid var(--ink);margin:32px 0 34px;padding:clamp(16px,2.4vw,32px)}.admin-calendar-controls{text-align:center;grid-template-columns:36px 1fr 36px;align-items:center;display:grid}.admin-calendar-controls button{color:var(--ink);background:0 0;border:0;height:34px;font-size:20px}.admin-calendar-controls button:disabled{color:#cfcac1}.admin-calendar-controls strong{font-family:var(--display);letter-spacing:-.05em;text-transform:capitalize;font-size:clamp(23px,2.2vw,32px);font-weight:400}.admin-calendar-days{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(7,1fr);margin-top:26px;display:grid}.admin-calendar-days button{border:0;border-right:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;align-items:start;gap:6px;min-height:88px;padding:13px 11px;transition:background .18s,color .18s;display:grid}.admin-calendar-days button:first-child{border-left:1px solid var(--line)}.admin-calendar-days button:hover{background:#24499d0f}.admin-calendar-days button.selected{background:var(--blue);color:#fff}.admin-calendar-days span,.admin-calendar-days em{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-style:normal}.admin-calendar-days strong{font-family:var(--display);letter-spacing:-.06em;font-size:31px;font-weight:400;line-height:.8}.admin-calendar-days em{color:var(--mist);margin-top:auto}.admin-calendar-days button.selected em{color:#ffffffb8}.admin-agenda-heading{justify-content:space-between;align-items:baseline;margin:25px 0 14px;display:flex}.admin-agenda-heading span{font-family:var(--display);letter-spacing:-.045em;text-transform:capitalize;font-size:28px}.admin-agenda-heading b{color:var(--mist);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:400}.admin-agenda-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.admin-agenda-slot{border:1px solid var(--line);color:var(--ink);text-align:left;background:0 0;align-items:start;min-height:88px;padding:11px;transition:border-color .18s,background .18s,color .18s,transform .18s;display:grid}.admin-agenda-slot.open:hover{border-color:var(--ink);transform:translateY(-2px)}.admin-agenda-slot time{font-family:var(--display);letter-spacing:-.045em;font-size:22px;line-height:.9}.admin-agenda-slot span{font-family:var(--mono);letter-spacing:.08em;margin-top:10px;font-size:9px}.admin-agenda-slot small{color:var(--mist);margin-top:4px;font-size:8px;line-height:1.35}.admin-agenda-slot.booked{color:var(--red);background:repeating-linear-gradient(135deg,#c533401a 0 5px,#0000 5px 10px);border-color:#c5334080}.admin-agenda-slot.booked:hover{background-color:#c5334014;transform:translateY(-2px)}.admin-agenda-slot.booked span{font-weight:500}.admin-agenda-slot.blocked{color:var(--mist);cursor:default;background:#e8e4dc;border-color:#d4cec4}.admin-agenda-heading{align-items:end}.admin-agenda-heading>div:first-child{gap:7px;display:grid}.admin-agenda-actions{place-items:end;gap:7px;display:grid}.day-close-control{border:1px solid var(--ink);color:var(--ink);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:10px 12px;font-size:8px;transition:background .18s,border-color .18s,color .18s}.day-close-control:not(:disabled):hover{background:var(--ink);color:var(--paper-white)}.day-close-control.is-closed{border-color:var(--red);color:var(--red)}.day-close-control.is-closed:not(:disabled):hover{background:var(--red);color:#fff}.day-close-control:disabled{color:#aaa49a;border-color:#d4cec4}.admin-agenda-actions small{color:var(--red);font-family:var(--mono);letter-spacing:.05em;text-align:right;font-size:7px}@keyframes barber-stripes-drift{0%{transform:skew(-36deg)translate(0,0)}to{transform:skew(-36deg)translate(56px)}}@keyframes counterflow-drift{0%{transform:skew(-36deg)translate(0,0)}to{transform:skew(-36deg)translate(-56px)}}@keyframes stage-arrive{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (max-width:850px){.booking-grid{grid-template-columns:1fr}.details-panel{position:static}.studio-details{grid-template-columns:1fr}.detail-booking{justify-self:start}.schedule-day{grid-template-columns:1fr;gap:10px}.admin-inline-form,.block-form{grid-template-columns:1fr 1fr}.admin-inline-form button,.block-form button{grid-column:span 2}.appointment-row{grid-template-columns:1fr auto}.row-actions{grid-column:1/-1;justify-content:start}.admin-agenda-slots{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:620px){.site-nav,.booking-header{height:67px;padding:0 18px}.brand-mark{flex-basis:34px;width:34px;height:18px;transform:rotate(-8deg)}.brand-name small{margin-bottom:3px;font-size:6px}.brand-name strong{letter-spacing:.12em;font-size:9px}.home-brand-panel{height:139px;padding:17px 18px}.home-brand-panel:before{background:linear-gradient(110deg,#0000 0 48%,#12121012 48.1% 48.25%,#0000 48.4%)}.hero-counterflow{opacity:.06;left:36%}.hero-title-wrap h1{font-size:clamp(60px,17vw,103px)}.hero-service{letter-spacing:.27em;margin-bottom:9px;font-size:8px}.hero-object{width:106px;height:28px;top:68%;right:19px}.booking-flow{padding:43px 18px 64px}.booking-flow-home{padding-top:39px}.booking-intro{margin-bottom:35px;padding-bottom:16px;display:block}.booking-intro h1,.booking-intro h2,.booking-flow-home .booking-intro h2{margin:0 0 23px -.062em;font-size:clamp(83px,25vw,118px);line-height:.59}.booking-intro .eyebrow{margin-bottom:39px;display:block}.calendar-panel{margin:0 -18px;padding:20px 18px;box-shadow:7px 8px #1212100a}.step-title h2{font-size:34px}.week-picker{margin-top:31px}.week-picker strong{font-size:24px}.days-grid{scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.date-tab{scroll-snap-align:start;flex:0 0 83px;min-height:89px}.slot-stage{min-height:0}.slot-stage-heading{flex-direction:column;align-items:start;gap:7px}.slot-stage-heading b{text-align:left}.slot-list{grid-template-columns:repeat(3,1fr)}.time-slot{min-height:51px}.details-panel{margin-top:28px}.selected-summary{min-height:84px}.studio-details{margin:0 18px;padding:37px 0}.studio-details dl{grid-template-columns:1fr}.studio-details dl div{border-left:0;border-top:1px solid var(--line);padding:17px 0}.studio-details dl div:first-child{border-top:0;padding-top:0}.studio-details dl.details-count-1{max-width:none}.detail-booking{width:100%}.site-footer{flex-direction:column;align-items:flex-start;gap:14px;padding:22px 18px}.confirmation-panel{padding-left:18px;padding-right:18px}.confirmation-panel:before{left:18px;right:18px}.admin-page{padding:24px 18px}.admin-header{align-items:start;gap:16px}.admin-header h1{font-size:64px}.admin-stats{grid-template-columns:1fr}.admin-stats div,.admin-stats div+div{border-right:0;padding:12px 0}.admin-tabs{white-space:nowrap;gap:17px;overflow-x:auto}.appointment-row{grid-template-columns:1fr auto;gap:9px}.appointment-row time{grid-column:1/-1}.appointment-row>div:nth-child(2){grid-column:1}.appointment-row .status-label{grid-area:2/2}.admin-inline-form,.block-form{grid-template-columns:1fr}.admin-inline-form button,.block-form button{grid-column:auto}.block-list article{align-items:start;gap:13px}.legal-page .back-link{margin-bottom:65px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:620px){.appointment-reveal{grid-template-columns:1fr auto;gap:8px}.appointment-reveal time{grid-column:1/-1}.appointment-reveal>div{grid-column:1}.appointment-reveal .status-label{grid-area:2/2}.admin-calendar{margin-left:-18px;margin-right:-18px;padding:20px 18px}.admin-calendar-days{display:flex;overflow-x:auto}.admin-calendar-days button{flex:0 0 82px}.admin-agenda-heading{flex-direction:column;align-items:start;gap:13px}.admin-agenda-actions{place-items:start}.admin-agenda-actions small{text-align:left}.admin-agenda-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-agenda-slot{min-height:91px}}
