:root{--porcelain: #ffffff;--charcoal: #1d1d1d;--hairline: #e5e7eb;--smoke: #737373;--ash: #a3a3a3;--mist: #f3f4f6;--graphite: #5e5e5e;--bone: #cacaca;--slate: #6b7280;--moss: #569d5f;--signal: #2563eb;--ember: #b42318;--font-ui: Inter, "SuisseIntl", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Consolas, monospace;--text-display: clamp(40px, 9vw, 72px);--text-display-xl: clamp(44px, 11vw, 100px);--text-heading-lg: clamp(32px, 6vw, 44px);--text-heading: clamp(26px, 5vw, 36px);--text-heading-sm: 24px;--text-subheading: 20px;--text-body: 16px;--text-body-sm: 14px;--text-caption: 12px;--tracking-display: -.025em;--tracking-heading: -.02em;--tracking-sub: -.015em;--s-4: 4px;--s-8: 8px;--s-12: 12px;--s-16: 16px;--s-20: 20px;--s-24: 24px;--s-32: 32px;--s-40: 40px;--s-48: 48px;--s-64: 64px;--s-80: 80px;--page-max: 1440px;--text-max: 62ch;--radius: 8px;--pill: 9999px;font-family:var(--font-ui);font-size:var(--text-body);line-height:1.5;color:var(--charcoal);background:var(--porcelain);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--porcelain)}img,svg{max-width:100%}h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:var(--tracking-heading);line-height:1.05}h1{font-size:var(--text-heading-lg)}h2{font-size:var(--text-heading)}h3{font-size:var(--text-heading-sm);letter-spacing:var(--tracking-sub);line-height:1.25}h4{font-size:var(--text-subheading);letter-spacing:var(--tracking-sub);line-height:1.25}p{margin:0 0 var(--s-12);max-width:var(--text-max)}a{color:var(--charcoal);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bone)}a:hover{text-decoration-color:var(--charcoal)}:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:var(--radius)}.page{max-width:var(--page-max);margin:0 auto;padding:0 var(--s-20) var(--s-64)}.topbar{background:var(--charcoal);color:var(--porcelain);font-size:var(--text-body-sm);text-align:center;padding:var(--s-8) var(--s-16)}.topbar p{margin:0;max-width:none}.header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--s-12);padding:var(--s-20) 0;border-bottom:1px solid var(--hairline);margin-bottom:var(--s-40)}.header__logo{font-size:var(--text-body);font-weight:600;letter-spacing:var(--tracking-sub);text-decoration:none}.nav{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap}.nav a,.nav .link-button{padding:var(--s-8) var(--s-16);border-radius:var(--pill);font-size:var(--text-body-sm);font-weight:500;color:var(--charcoal);text-decoration:none}.nav a:hover,.nav .link-button:hover{background:var(--mist);text-decoration:none}.nav__who{padding:var(--s-8) var(--s-12);font-size:var(--text-body-sm);color:var(--smoke)}.footer{max-width:var(--page-max);margin:0 auto;padding:var(--s-32) var(--s-20) var(--s-48);border-top:1px solid var(--hairline);color:var(--smoke);font-size:var(--text-body-sm)}main section>h1,main section>h2{margin-bottom:var(--s-20)}.section{margin-top:var(--s-80)}.section--first{margin-top:0}.display{font-size:var(--text-display);font-weight:500;letter-spacing:var(--tracking-display);line-height:.95;margin:0 0 var(--s-20);max-width:16ch}.trail{-webkit-mask-image:linear-gradient(90deg,currentColor 60%,transparent 100%);mask-image:linear-gradient(90deg,currentColor 60%,transparent 100%)}.lede{font-size:var(--text-subheading);line-height:1.4;letter-spacing:var(--tracking-sub);color:var(--smoke);max-width:46ch}.eyebrow{font-family:var(--font-mono);font-size:var(--text-caption);text-transform:uppercase;color:var(--smoke);margin:0 0 var(--s-12)}.muted{color:var(--smoke);font-size:var(--text-body-sm)}.error{color:var(--ember);font-size:var(--text-body-sm)}.num{font-family:var(--font-mono);font-feature-settings:"tnum" 1;letter-spacing:-.01em}.hero{position:relative;background:var(--charcoal);background-size:cover;background-position:center;color:var(--porcelain);border-radius:var(--radius);padding:clamp(var(--s-32),6vw,var(--s-80));margin-bottom:var(--s-48);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:#00000059;pointer-events:none}.hero>*{position:relative}.hero .lede{color:#fffc}.hero .eyebrow{color:#ffffffa6}.hero__facts{display:flex;flex-wrap:wrap;gap:var(--s-8) var(--s-24);margin-top:var(--s-32);padding-top:var(--s-20);border-top:1px solid rgba(255,255,255,.2);font-size:var(--text-body-sm);color:#fffc}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-8);padding:var(--s-12) var(--s-24);border:1px solid transparent;border-radius:var(--pill);background:var(--charcoal);color:var(--porcelain);font:500 var(--text-body) / 1.2 var(--font-ui);text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease}.button:hover{background:var(--graphite);color:var(--porcelain);text-decoration:none}.button:disabled{background:var(--mist);color:var(--ash);border-color:var(--bone);cursor:not-allowed}.button--outline{background:transparent;color:var(--charcoal);border-color:var(--charcoal)}.button--outline:hover{background:var(--mist);color:var(--charcoal)}.button--quiet{background:transparent;color:var(--ember);border-color:var(--hairline)}.button--quiet:hover{background:var(--mist);color:var(--ember);border-color:var(--ember)}.button--block{width:100%}.link-button{padding:0;border:0;background:none;color:var(--charcoal);font:inherit;font-size:var(--text-body-sm);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bone);cursor:pointer}.link-button:hover{text-decoration-color:var(--charcoal)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--s-24);margin-top:var(--s-24)}.card{display:flex;flex-direction:column;background:var(--porcelain);border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden}.card__body{display:flex;flex-direction:column;gap:var(--s-8);padding:var(--s-24)}.card__body>p{margin:0;max-width:none}.card__foot{margin-top:auto;padding-top:var(--s-8)}.card__photo{display:block;width:100%;aspect-ratio:4 / 3;object-fit:contain;padding:var(--s-16);background:var(--porcelain);border-bottom:1px solid var(--hairline)}.card__photo--empty{display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-caption);text-transform:uppercase;color:var(--ash)}.card__price{font-family:var(--font-mono);font-size:var(--text-heading-sm);letter-spacing:-.02em}.card__price span{font-family:var(--font-ui);font-size:var(--text-body-sm);color:var(--smoke)}.summary{background:var(--mist);border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--s-24)}.summary p{max-width:none}.notice{border:1px solid var(--charcoal);border-radius:var(--radius);padding:var(--s-16) var(--s-20);margin:var(--s-16) 0}.notice p{margin:0;max-width:none}.rows{border-top:1px solid var(--bone);margin-top:var(--s-16);padding-top:var(--s-12)}.row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-16);padding:var(--s-4) 0;font-size:var(--text-body-sm)}.row__label{color:var(--smoke)}.row--total{font-size:var(--text-subheading);padding-top:var(--s-12);margin-top:var(--s-8);border-top:1px solid var(--bone)}.row--total .row__label{color:var(--charcoal)}.split{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-32);align-items:start}@media(min-width:960px){.split{grid-template-columns:minmax(0,1fr) 360px}.split .summary{position:sticky;top:var(--s-20)}}.badge{display:inline-block;padding:var(--s-4) var(--s-12);border:1px solid var(--hairline);border-radius:var(--pill);background:var(--porcelain);font-size:var(--text-caption);font-weight:500;color:var(--smoke)}.badge--confirmed,.badge--active{border-color:var(--moss);color:var(--moss)}.badge--cancelled,.badge--expired,.badge--no_show,.badge--overdue{border-color:var(--ember);color:var(--ember)}.badge--completed{border-color:var(--bone);color:var(--smoke)}.field{display:block;margin:0 0 var(--s-16);font-size:var(--text-body-sm);color:var(--smoke)}.field input,.field select{display:block;width:100%;max-width:420px;margin-top:var(--s-4);padding:var(--s-12) var(--s-16);border:1px solid var(--slate);border-radius:var(--radius);background:var(--porcelain);color:var(--charcoal);font:400 var(--text-body) / 1.4 var(--font-ui)}.field input:focus{border-color:var(--signal);outline:none;box-shadow:0 0 0 3px #2563eb26}.field .muted,.field .error{display:block;margin-top:var(--s-4);font-size:var(--text-caption)}.form{background:var(--porcelain);border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--s-32);max-width:520px}.calendar{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s-32);margin:var(--s-24) 0}.calendar__month{max-width:320px}.calendar__month h4{margin:0 0 var(--s-12);padding-bottom:var(--s-8);border-bottom:1px solid var(--hairline)}.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--s-4)}.calendar__weekday{font-family:var(--font-mono);text-align:center;font-size:var(--text-caption);color:var(--ash);padding-bottom:var(--s-4)}.calendar__day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;aspect-ratio:1;padding:0;border:1px solid var(--hairline);border-radius:var(--radius);background:var(--porcelain);color:var(--charcoal);font-family:var(--font-mono);font-size:var(--text-body-sm);cursor:pointer;transition:border-color .12s ease,background .12s ease}.calendar__day:hover:not(:disabled){border-color:var(--charcoal)}.calendar__day small{font-size:10px;color:var(--ash)}.calendar__day--busy{background:var(--mist);border-color:var(--mist);color:var(--ash);cursor:not-allowed;text-decoration:line-through}.calendar__day--picked{background:var(--charcoal);border-color:var(--charcoal);color:var(--porcelain)}.calendar__day--picked small{color:#fff9}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-16);font-size:var(--text-caption);color:var(--smoke)}.legend span{display:inline-flex;align-items:center;gap:var(--s-8)}.legend i{width:16px;height:16px;border:1px solid var(--hairline);border-radius:var(--s-4);background:var(--porcelain)}.legend i.busy{background:var(--mist);border-color:var(--mist)}.legend i.picked{background:var(--charcoal);border-color:var(--charcoal)}.stack>*+*{margin-top:var(--s-16)}.summary .stack{margin-top:var(--s-24)}.back{display:inline-block;margin-bottom:var(--s-16);font-size:var(--text-body-sm);color:var(--smoke)}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
