:root{color-scheme:light;--ink:#102538;--blue:#366b93;--muted:#506575;--line:#d9e3e9;--paper:#f5f7f8;--light:#e9f1f6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #397cb2;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em;line-height:1.12;font-weight:500}h1{font-size:clamp(2.5rem,4.2vw,4.1rem);margin-bottom:20px}h1 span{color:var(--blue)}h2{font-size:2rem;margin-bottom:16px}h3{font-size:1.35rem}small{font-size:.875rem}.brandbar,main,footer{max-width:1280px;width:calc(100% - 80px);margin:auto}.brandbar{height:92px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{display:flex;flex-direction:column;font-size:25px;font-weight:800;letter-spacing:-1px;line-height:1}.wordmark span{font-size:12px;letter-spacing:6.4px;line-height:1.7;font-weight:500}.header-contact{font-size:.875rem;border-bottom:1px solid #9aaab6}.intro{padding:48px 0 34px;max-width:900px}.intro>p:not(.eyebrow){max-width:660px;color:var(--muted)}.eyebrow{font-size:.75rem;letter-spacing:1.7px;font-weight:700;color:var(--blue);margin-bottom:18px}.entry-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.primary,.secondary,.quiet{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:13px 20px;border:1px solid transparent;border-radius:5px;font-size:.875rem;font-weight:600;min-height:48px}.primary{background:var(--ink);color:white}.primary:hover{background:#285570}.secondary{background:white;border-color:#c0cfd9;color:var(--ink)}.secondary:hover{background:var(--light)}.quiet{background:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:4px;font-weight:400;padding:10px}.demo-notice{font-size:.875rem;margin:18px 0 0}.workspace{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden}.workspace-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 28px;border-bottom:1px solid var(--line)}.workspace-bar>div{display:flex;align-items:center;gap:12px}.workspace-bar strong,.workspace-bar small{display:block}.workspace-bar small{color:var(--muted)}.studio-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--ink);color:white;border-radius:8px;font-weight:700}.view-switch{display:flex;padding:0 28px;border-bottom:1px solid var(--line);gap:28px}.view-switch button{border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);min-height:56px;font-size:.875rem;padding:12px 2px}.view-switch button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--blue);font-weight:700}.booking-layout{display:grid;grid-template-columns:1.7fr 1fr}.panel{padding:32px;min-width:0}.muted{color:var(--muted)}.side-panel{padding:32px;background:#edf3f7;border-left:1px solid var(--line)}.side-panel h2{font-size:1.7rem}.side-panel p,.side-panel li{color:var(--muted);font-size:.875rem}.side-panel ol{padding-left:20px}.side-panel li{padding:8px 0}.service-grid{display:grid;gap:12px}.service{text-align:left;padding:22px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);display:grid;grid-template-columns:1fr auto;gap:8px}.service strong{font-size:1.125rem;font-weight:600}.service>span{font-size:.875rem;color:var(--blue)}.service small{grid-column:1/-1;color:var(--muted)}.service:hover,.service[aria-pressed=true]{border-color:var(--blue);background:#f2f7fb}.contact{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;padding:70px 0 35px}.contact h2{font-size:clamp(2rem,3vw,3rem)}.contact p{color:var(--muted);max-width:530px}.contact-cta{margin-bottom:16px}.text-link{display:block;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;margin-bottom:10px}.storage-note{color:var(--muted);font-size:.875rem;max-width:880px;margin-bottom:45px}footer{display:flex;justify-content:space-between;padding:28px 0;border-top:1px solid var(--line);font-size:.875rem}footer>div{display:flex;gap:24px}.skip{position:fixed;top:-100px;left:15px;background:white;z-index:100;padding:10px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:800px){.brandbar,main,footer{width:calc(100% - 40px)}.intro{padding-top:32px}.booking-layout,.contact{grid-template-columns:1fr}.side-panel{border-left:0;border-top:1px solid var(--line)}.panel,.side-panel{padding:24px}.contact{gap:20px;padding-top:45px}.workspace-bar{padding:16px 20px}.view-switch{padding:0 20px}.workspace-bar small{font-size:.75rem}.workspace-bar{align-items:flex-start}.workspace-bar .quiet{font-size:.75rem;max-width:100px;line-height:1.4}.service{padding:18px}.header-contact{font-size:.75rem}.brandbar{height:80px}.intro h1{font-size:2.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Booking and management use the same in-memory appointment model. */
.progress{display:flex;list-style:none;margin:0;padding:20px 28px;gap:28px;border-bottom:1px solid var(--line);font-size:.875rem}.progress li{display:flex;align-items:center;gap:8px;color:var(--muted)}.progress li>span{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;font-size:.75rem}.progress li[aria-current]{color:var(--ink)}.progress li[aria-current]>span{background:var(--ink);border-color:var(--ink);color:white}.progress strong{font-weight:400}.progress-link{border:0;padding:8px 0;background:none;color:var(--blue);text-decoration:underline;font-size:.875rem}.panel h2:focus,.admin-intro h2:focus,.details-panel h3:focus{outline:none}.date-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 16px}.date-toolbar>div:last-child{display:flex;gap:8px}.date-toolbar strong,.date-toolbar span{font-size:.875rem}.icon-button{width:44px;height:44px;min-width:44px;border:1px solid var(--line);background:white;border-radius:5px;color:var(--ink);font-size:1.5rem}.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.date-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:white;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:12px 3px;min-height:96px}.date-grid button>span{font-size:.875rem}.date-grid button>strong{font-size:1.3rem;font-weight:500}.date-grid button>small{font-size:.75rem;line-height:1.2}.date-grid button:disabled{opacity:.65;background:#f4f6f7}.date-grid button[aria-pressed=true],.time-grid button[aria-pressed=true]{color:white;border-color:var(--ink);background:var(--ink)}.time-placeholder{border:1px dashed var(--line);padding:24px;margin-top:24px;color:var(--muted);text-align:center}.times{border:0;padding:0;margin:28px 0}.times legend{font-size:.875rem;font-weight:600;margin-bottom:14px}.time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.time-grid button{border:1px solid var(--line);border-radius:5px;min-height:48px;background:white;color:var(--ink);font-size:1rem}.time-grid p{grid-column:1/-1;color:var(--muted);margin-bottom:0}.field{margin:25px 0}.field label{display:block;margin-bottom:8px;font-size:.875rem;font-weight:600}.field input,.field select{width:100%;min-height:50px;border:1px solid #acbdc9;padding:12px;border-radius:5px;color:var(--ink);background:white;font-size:1rem}.field input[aria-invalid=true]{border-color:#b33930}.field-help,.small-note{font-size:.875rem;color:var(--muted);margin-top:12px}.error{color:#9d241f;font-size:.875rem;line-height:1.5;margin-top:10px}.flow-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:24px;margin-top:32px}.summary{margin:24px 0}.summary>div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:.875rem}.summary dt{color:var(--muted)}.summary dd{margin:0;overflow-wrap:anywhere}.summary dd strong{font-size:1rem;color:var(--ink)}.selected-date{padding:18px 0;border-top:1px solid #cddce6}.hours{margin-top:35px;padding-top:24px;border-top:1px solid #cddce6}.hours h3{font-size:1.1rem;letter-spacing:-.02em}.hours dl>div{display:flex;justify-content:space-between;gap:10px;font-size:.875rem;margin:12px 0}.hours dd{margin:0;text-align:right}.success-check{display:grid;place-items:center;border-radius:50%;background:var(--light);color:var(--blue);width:52px;height:52px;font-size:28px;margin-bottom:22px}.success-actions,.detail-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:24px 0}.success-actions .quiet{align-self:flex-start}.admin-intro{padding:32px;display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.admin-intro h2{margin-bottom:10px}.admin-intro p{margin-bottom:0}.admin-intro .eyebrow{margin-bottom:16px}.admin-count{background:var(--light);border-radius:8px;padding:18px 24px;display:flex;flex-direction:column;flex-shrink:0}.admin-count strong{font-size:2rem;line-height:1.2;font-weight:500}.admin-count span{font-size:.875rem;color:var(--muted)}.admin-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr);border-top:1px solid var(--line)}.calendar-panel{padding:28px;min-width:0}.calendar-panel .date-toolbar{margin-top:0}.calendar-panel .date-toolbar h3{margin-bottom:4px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:7px;overflow:hidden}.calendar-day{background:#fafcfd;padding:12px 6px;min-height:250px;min-width:0}.calendar-day h4{font-size:.875rem;margin:0 0 8px;text-align:center}.calendar-day h4 span{display:block;font-weight:400}.day-hours{font-size:.75rem;color:var(--muted);text-align:center;line-height:1.4;min-height:34px;margin:0 0 12px}.empty-day{text-align:center;color:#889daa}.appointment{width:100%;border:1px solid #c7d9e6;border-radius:5px;padding:10px 7px;margin-bottom:10px;background:#e9f1f7;color:var(--ink);text-align:left;overflow-wrap:anywhere;font-size:.875rem;line-height:1.5}.appointment>strong,.appointment>span,.appointment>small{display:block}.appointment strong{font-size:.75rem}.appointment small{font-size:.75rem;margin-top:5px}.appointment.own{background:var(--ink);color:white;border-color:var(--ink)}.list-heading{margin:32px 0 12px}.booking-list{display:flex;flex-direction:column}.booking-row{display:grid;grid-template-columns:1.2fr 1fr .9fr 18px;gap:14px;width:100%;padding:20px 0;border:0;border-top:1px solid var(--line);background:none;text-align:left;color:var(--ink);font-size:.875rem}.booking-row:hover{background:#f4f8fb}.booking-row strong,.booking-row small{display:block}.booking-row small{color:var(--muted);margin-top:4px}.status{font-size:.875rem;color:#285d49}.status.cancelled{color:#805148}.details-panel{background:#edf3f7;padding:28px;border-left:1px solid var(--line);overflow-wrap:anywhere;min-width:0}.details-panel .summary>div{grid-template-columns:1fr;gap:4px;padding:12px 0}.notice{padding:14px 20px;margin:0 32px 24px;border:1px solid #b8d3e3;border-radius:5px;background:#edf6fb;color:#254c68;font-size:.875rem}.cancel-confirm,.reset-confirm{padding:20px;background:#fff6ee;border:1px solid #e7ccba;border-radius:6px;font-size:.875rem}.reset-confirm{margin:24px}.reset-confirm>div{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.cancel-confirm p{color:#704a35}.details-panel .time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.details-panel select{font-size:.875rem}.contact-cta{white-space:normal;text-align:center}.text-link:hover,.header-contact:hover{text-decoration:underline}
@media(max-width:1100px){.admin-layout{grid-template-columns:1fr}.details-panel{border-left:0;border-top:1px solid var(--line)}.details-panel .summary>div{grid-template-columns:120px 1fr}.details-panel .time-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.calendar-day{padding:14px 8px}.appointment strong{font-size:.875rem}.appointment small{font-size:.875rem}.details-panel form{max-width:640px}.detail-actions{max-width:400px}}
@media(max-width:800px){.progress{padding:16px 20px;gap:16px}.progress li{gap:6px}.progress-link{font-size:.875rem}.admin-intro{padding:24px}.calendar-panel{padding:24px}.admin-count{padding:12px}.admin-count span{max-width:120px}.details-panel{padding:24px}.notice{margin:0 24px 24px}.summary>div{grid-template-columns:100px 1fr}}
@media(max-width:600px){.progress{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.progress li{min-height:32px}.date-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.date-grid button{min-height:84px}.date-toolbar{gap:10px}.date-toolbar strong{font-size:.875rem}.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.side-panel{padding:24px}.admin-intro{display:block}.admin-count{flex-direction:row;align-items:center;gap:16px;margin-top:20px;width:fit-content}.admin-count span{max-width:none}.week-grid{grid-template-columns:1fr}.calendar-day{display:grid;grid-template-columns:65px 1fr;column-gap:14px;min-height:84px;padding:16px 12px;align-items:start}.calendar-day h4{text-align:left;font-size:1rem}.day-hours{grid-column:1;font-size:.75rem;min-height:0;text-align:left;margin-top:4px}.calendar-day .appointment{grid-column:2;grid-row:auto;margin-bottom:8px;padding:12px;font-size:.875rem}.calendar-day .appointment:first-of-type{grid-row:1/3}.calendar-day .empty-day{grid-column:2;grid-row:1/3;text-align:left;margin:0}.appointment span{display:inline}.appointment small{margin-top:3px}.booking-row{grid-template-columns:1fr auto;gap:6px 12px}.booking-row>span:nth-child(2){grid-column:1}.booking-row .status{grid-column:2;grid-row:1/3;text-align:right;max-width:100px}.booking-row>span:last-child{display:none}.details-panel .summary>div{grid-template-columns:1fr}.details-panel .time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-actions{gap:8px}.flow-actions .primary{padding:12px 14px;gap:4px}.service{grid-template-columns:1fr}.service span{grid-row:2}.header-contact{max-width:140px;text-align:right}.contact-cta{width:100%;gap:8px}.reset-confirm{margin:16px}.brandbar,main,footer{width:calc(100% - 32px)}}
.appointment strong,.appointment small{font-size:.875rem}.appointment{hyphens:auto}.calendar-day h4{line-height:1.5}
.studio-mark{flex-shrink:0}.workspace-bar>div{min-width:0}@media(max-width:360px){.intro h1{font-size:2rem;overflow-wrap:anywhere}.workspace-bar{gap:10px;padding:16px}.workspace-bar .quiet{min-width:80px}}
.options-link{display:inline-block;margin-top:12px;font-size:.875rem;color:var(--blue);text-decoration:underline;text-underline-offset:4px}.options-section{padding-top:68px}.options-heading{max-width:740px;margin-bottom:32px}.options-heading h2{font-size:clamp(2rem,3vw,3rem)}.options-heading>p:last-child{color:var(--muted)}.options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.options-grid article{padding:26px;background:white;border:1px solid var(--line);border-radius:8px;min-width:0}.option-number{display:block;font-size:.75rem;letter-spacing:1px;color:var(--blue);margin-bottom:24px}.options-grid h3{font-size:1.4rem;line-height:1.25;margin-bottom:14px}.options-grid p{font-size:1rem;color:var(--muted);margin:0;overflow-wrap:anywhere}.options-scope{margin-top:24px;padding:24px;border-left:3px solid var(--blue);background:var(--light);border-radius:0 6px 6px 0}.options-scope>strong{font-size:1rem}.options-scope p{font-size:.875rem;color:var(--muted);margin:10px 0 14px;max-width:930px}.options-scope .text-link{font-size:.875rem;margin-bottom:0}@media(max-width:900px){.options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.options-section{padding-top:44px}.options-grid{grid-template-columns:1fr;gap:12px}.options-grid article{padding:24px}.option-number{margin-bottom:16px}.options-scope{padding:20px}}
