@font-face{font-family:"Space Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/space-mono-400.woff2) format("woff2")}
@font-face{font-family:"Space Mono";font-style:italic;font-weight:400;font-display:swap;src:url(/space-mono-400-italic.woff2) format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url(/space-grotesk-400.woff2) format("woff2")}
:root{--paper:#EDEDE9;--ink:#1B1B1A;--grey:#5F5E5A;--rule:#C9C9C4;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*,*::before,*::after{box-sizing:inherit}
html{height:100%;background:var(--paper)}
body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:"Space Mono",ui-monospace,Menlo,Consolas,monospace;font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.bar{display:inline-block;background:var(--ink);color:var(--paper);font-family:"Space Grotesk",system-ui,sans-serif;font-weight:400;letter-spacing:.42em;white-space:nowrap;line-height:1;padding:.75em 1.35em .75em 1.77em}
/* home */
.home-body{display:flex;flex-direction:column;min-height:100vh;min-height:100svh}
.home{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem}
.home .bar{font-size:clamp(15px,3.4vw,20px);margin-bottom:3.5rem}
.menu{list-style:none;margin:0;padding:0;text-align:center;font-size:16px;line-height:2.6}
.menu a{border-bottom:1px solid transparent;padding-bottom:2px}
.menu a:hover{border-bottom-color:var(--ink)}
/* inner pages */
.page{max-width:34rem;margin:0 auto;padding:2.5rem 1.5rem 4rem}
.page .bar{font-size:11px;margin-bottom:4.5rem}
h1{font-family:inherit;font-weight:400;font-size:22px;line-height:1.3;margin:0 0 1.25rem}
p{margin:0 0 1.25rem;max-width:34ch}
.details{color:var(--grey);font-size:13px;line-height:1.9;margin-top:2rem}
.foot{padding:1.25rem 1.5rem;text-align:center;font-size:11px;color:var(--grey)}
.foot a:hover{color:var(--ink)}
/* form */
form{margin-top:2rem;max-width:26rem}
label.f{display:block;font-size:12px;color:var(--grey);margin:0 0 .25rem}
input[type=text],input[type=email],input[type=tel]{display:block;width:100%;font:inherit;font-size:15px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:.35rem 0 .5rem;margin:0 0 1.5rem;-webkit-appearance:none}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:12px;line-height:1.6;color:var(--grey);margin:.25rem 0 1.75rem}
.check input{margin:.25rem 0 0;accent-color:var(--ink)}
button{font:inherit;font-size:13px;background:var(--ink);color:var(--paper);border:0;border-radius:0;padding:.8rem 1.4rem;cursor:pointer}
button:hover{background:#000}
.hp{position:absolute;left:-9999px}
.note{font-size:12px;color:var(--grey);margin-top:1.5rem}
/* booking */
.book{margin-top:2rem;min-height:560px;border-top:1px solid var(--rule);padding-top:1.5rem}
.book .fallback{font-size:13px}
.book .fallback a{border-bottom:1px solid var(--ink)}
/* privacy */
.legal h2{font-weight:400;font-size:15px;margin:2rem 0 .5rem}
.legal p,.legal li{font-size:13px;max-width:60ch}
.legal ul{padding-left:1.1rem;margin:0 0 1.25rem}
@media (max-width:480px){.page{padding-top:1.75rem}.page .bar{margin-bottom:3.5rem}}
/* radio and rsvp */
fieldset{border:0;margin:0 0 1.5rem;padding:0}
legend{font-size:12px;color:var(--grey);padding:0;margin:0 0 .5rem}
.radio{display:inline-flex;gap:.45rem;align-items:center;font-size:15px;margin-right:1.75rem}
.radio input{margin:0;accent-color:var(--ink)}
.rsvp{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--rule)}
.rsvp h2{font-weight:400;font-size:15px;margin:0 0 .5rem}
.rsvp form{margin-top:1.5rem}
.small{font-size:12px;color:var(--grey);margin-top:1.25rem}

/* inverted: private client booking pages (Session, Advisory) */
html.inverted{--paper:#1B1B1A;--ink:#EDEDE9;--grey:#C9C9C4;--rule:#5F5E5A}
html.inverted button:hover{background:#fff}
