
@font-face{font-family:Inter;src:url(assets/InterVariable.woff2) format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Plex;src:url(assets/ibm-plex-mono-400-latin.woff2) format('woff2');font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper,#faf8f2);color:var(--ink,#202420);font:16px/1.55 Inter,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;object-fit:cover}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}button{touch-action:manipulation}button:hover,.cta:hover{filter:brightness(.92)}:focus-visible{outline:3px solid var(--accent,#8d351c);outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:20px;background:white;color:black;padding:15px;z-index:99}.skip:focus{top:10px}.notice{padding:8px 20px;text-align:center;background:var(--notice,#eae9e0);color:var(--notice-ink,var(--ink));font:11px/1.6 Inter,sans-serif;letter-spacing:.035em}.notice strong{font-weight:650}.masthead{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 5vw}.brand{font-size:23px;font-weight:650;line-height:1.1;text-decoration:none}.brand small{display:block;font:10px/1.6 Plex,monospace;letter-spacing:.14em;margin-top:8px}.masthead nav{display:flex;align-items:center;gap:30px;font-size:12px}.masthead nav a{text-decoration:none}.masthead .nav-cta{border-bottom:1px solid;padding:8px 0}.eyebrow{font:11px/1.6 Plex,monospace;text-transform:uppercase;letter-spacing:.13em;margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1{font-weight:450;line-height:1;letter-spacing:-.05em}h2{font-size:30px;line-height:1.18;font-weight:500;letter-spacing:-.035em}p{max-width:66ch}.intro{font-size:17px;line-height:1.7;max-width:42ch}.cta{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;text-decoration:none;background:var(--accent,var(--ink));color:var(--button-ink,#fff);padding:16px 25px;font-size:13px;min-height:48px}.caption{font:10px/1.65 Plex,monospace;letter-spacing:.06em}.booking{scroll-margin-top:24px;min-width:0;background:var(--form,#fff);color:var(--form-ink,var(--ink));padding:34px}.bookhead,.booking-top{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px}.booking-top p{margin:0}.badge{font-size:10px;font-weight:400;letter-spacing:0;white-space:nowrap}.steps{display:flex;gap:8px;border-top:1px solid var(--line,#d8d8d0);padding:16px 0 24px;font-size:11px}.step{flex:1;opacity:.5;display:flex;gap:6px;align-items:center}.step.active{opacity:1;font-weight:650}.step b,.step i{font-style:normal;font-weight:400}.booking h2{font-size:27px;margin-bottom:10px}.helper{font-size:13px;line-height:1.65;margin-bottom:22px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;margin:24px 0}.field{min-width:0}.field.full{grid-column:1/-1}.field label,.label{display:block;font-size:11px;margin-bottom:8px;font-weight:550}.field input,.field select{display:block;width:100%;min-width:0;min-height:49px;border:1px solid var(--line,#d8d8d0);border-radius:0;background:var(--input,#fff);color:inherit;padding:12px;font-size:13px;color-scheme:var(--scheme,light)}input[type=date]{appearance:none;-webkit-appearance:none;min-height:49px}input[readonly]{opacity:.8}.times{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.time{border:1px solid var(--line,#d8d8d0);background:transparent;color:inherit;padding:11px 15px;font-size:12px;min-height:44px}.time[aria-pressed=true]{background:var(--accent,var(--ink));border-color:var(--accent,var(--ink));color:var(--button-ink,#fff)}.rule{font-size:12px;line-height:1.65;padding:15px 0;border-top:1px solid var(--line,#d8d8d0);margin:16px 0}.error{font-size:13px;border-left:3px solid #c24035;padding:10px;color:var(--error,#a22321);background:var(--error-bg,#fff0ed)}.primary,.secondary{width:100%;min-height:49px;border:0;background:var(--accent,var(--ink));color:var(--button-ink,#fff);padding:14px 18px;font-size:13px;text-align:center}.secondary{background:transparent;color:inherit;border:1px solid var(--line,#d8d8d0);margin-top:12px}.security{display:none}.summary{display:grid;grid-template-columns:1fr 1.3fr;gap:0;font-size:13px}.summary dt,.summary dd{padding:12px 0;border-bottom:1px solid var(--line,#d8d8d0);margin:0;overflow-wrap:anywhere}.summary dd{font-weight:550;padding-left:12px}.success-icon{font-size:30px;margin:12px 0}.booking details{font-size:12px;border-top:1px solid var(--line,#d8d8d0);margin-top:24px;padding-top:18px}.booking details p{margin:15px 0}.booking summary{padding:8px 0;font-size:11px}.recovery{padding:10px 0}footer{display:flex;gap:30px;justify-content:space-between;align-items:flex-end;padding:40px 5vw;border-top:1px solid var(--line,#d8d8d0);font-size:10px}footer p{margin:0;max-width:85ch;opacity:.8}footer a{white-space:nowrap;font-weight:700;font-size:15px;text-decoration:none}.section-note{font:12px/1.8 Plex,monospace}noscript{display:block;padding:15px}
@media(max-width:700px){.masthead{padding:24px 22px}.masthead nav a:not(.nav-cta){display:none}.brand{font-size:20px}.masthead nav{gap:10px}.notice{font-size:9px;padding:7px 16px}.booking{padding:24px 20px}.booking h2{font-size:25px}.steps{font-size:10px}.fields{gap:16px 12px}.intro{font-size:15px}.eyebrow{font-size:10px}.cta{padding:15px 20px;font-size:12px}footer{display:block;padding:28px 22px}footer a{display:inline-block;margin-top:20px}.summary{grid-template-columns:1fr 1.1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.santa{--paper:#fff;--ink:#d04722;--accent:#c33d19;--notice:#f8eee6;--line:#e6c5b9;--form:#fff;--form-ink:#413731}.santa .brand{font-size:25px;font-weight:750;letter-spacing:-.055em}.studio-gallery{display:grid;grid-template-columns:1.15fr 1fr;padding:25px 5vw 50px;gap:5vw}.studio-left{padding-top:38px}.studio-left h1{font-size:clamp(64px,6.9vw,102px);line-height:.95;font-weight:450;letter-spacing:-.07em}.studio-left h1 em{font:italic 1em Georgia}.studio-left .intro{font-size:15px;margin:30px 0}.studio-left .caption{margin-top:45px;font-size:9px}.studio-gallery figure{margin:0;position:relative}.studio-gallery img{width:100%;height:630px;object-position:center}.studio-gallery figcaption{font:8px Plex;position:absolute;bottom:15px;right:15px;background:white;padding:8px;color:#5b463b}.disciplines{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 5vw}.disciplines button{text-align:left;padding:30px;border:0;border-right:1px solid var(--line);background:#fff;color:inherit}.disciplines button:last-child{border-right:0}.disciplines button:hover{background:#fcf2eb;filter:none}.disciplines span{font:9px Plex}.disciplines h2{font-size:42px;margin:30px 0 15px;font-weight:450}.disciplines p{font-size:11px;margin:0}.studio-plan{display:grid;grid-template-columns:1fr 1.2fr;gap:7vw;padding:80px 8vw}.studio-plan>div:first-child{padding-top:45px}.studio-plan>div:first-child h2{font:55px/1.07 Georgia}.studio-plan .intro{font-size:14px;max-width:35ch}.studio-plan .section-note{font-size:10px;margin-top:35px}.santa .booking{border-left:1px solid var(--line);padding-left:40px}.santa .booking h2{color:#c33d19}.santa .primary{border-radius:40px}.santa .time{border-radius:30px}@media(max-width:700px){.studio-gallery{display:block;padding:15px 23px 30px}.studio-left{padding-top:25px}.studio-left h1{font-size:68px}.studio-left .caption{margin:30px 0 20px}.studio-gallery img{height:390px}.disciplines{margin:0 23px;grid-template-columns:1fr}.disciplines button{padding:22px 0;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;align-items:center}.disciplines h2{grid-row:1/3;grid-column:2;margin:0;text-align:right;font-size:33px}.disciplines p{margin-top:12px}.studio-plan{display:block;padding:25px 23px 40px}.studio-plan>div:first-child{padding-top:20px}.studio-plan>div:first-child h2{font-size:43px}.santa .booking{border-left:0;border-top:1px solid var(--line);padding:25px 0;margin-top:30px}}