:root{color-scheme:dark;--ground:#070606;--panel:#140f12;--raised:#1c161c;--raised-strong:#2a222c;--brand:#7d6585;--ink:#d4c8d8;--soft:#b4a4ba;--hairline:rgba(125,101,133,.35);--hairline-strong:rgba(125,101,133,.55);--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:ui-monospace,"SF Mono",Consolas,monospace;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--radius:10px;--control-radius:6px;--control-height:44px;--gutter:clamp(24px,6vw,96px)}
*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font:18px/1.55 var(--sans)}[hidden]{display:none!important}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--ink);background:var(--raised)}:focus-visible{outline:2px solid var(--brand);outline-offset:4px}button,input,select,textarea{font:inherit;color:var(--ink)}button,.action{cursor:pointer;min-height:var(--control-height);background:var(--raised);border:1px solid var(--hairline-strong);border-radius:var(--control-radius);padding:12px var(--space-2);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3)}button:hover,.action:hover{background:var(--raised-strong)}button:disabled{cursor:wait;opacity:.6}input,select,textarea{display:block;width:100%;min-height:var(--control-height);margin-top:var(--space-1);padding:10px 12px;background:var(--ground);border:1px solid var(--hairline-strong);border-radius:var(--control-radius)}textarea{resize:vertical}label{display:block}h1,h2,h3,p{margin:0}h1{font-size:clamp(48px,5.8vw,84px);font-weight:500;line-height:1.08;letter-spacing:-.045em}h2{font-size:28px;line-height:1.25;font-weight:500}h3{font-size:24px;line-height:1.3;font-weight:500}.site-header,footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--gutter);border-bottom:1px solid var(--hairline);font:13px/1.5 var(--mono)}.brand{display:flex;align-items:center;gap:var(--space-2);text-decoration:none}.brand img{object-fit:contain}.skip{position:fixed;top:-100px;left:var(--space-2);padding:var(--space-2);background:var(--panel);z-index:5}.skip:focus{top:var(--space-2)}main{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw;padding:clamp(48px,7vw,96px) var(--gutter);min-height:calc(100svh - 160px);max-width:1600px;margin:auto}.eyebrow{font:12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--soft);margin-bottom:var(--space-3)}.intro>p:not(.eyebrow){margin-top:var(--space-4);color:var(--soft);max-width:44ch}.details{margin:var(--space-4) 0 0}.details div{display:grid;grid-template-columns:88px 1fr;gap:var(--space-2);border-top:1px solid var(--hairline);padding:12px 0}.details dt{color:var(--soft)}.details dd{margin:0}.intro .privacy-note{font-size:14px}.booking{padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius);background:var(--panel);align-self:start;min-width:0}.booking>h2{margin-bottom:var(--space-3)}#schedule-status{color:var(--soft);font-size:16px;margin-bottom:var(--space-3)}#closed p{margin-bottom:var(--space-3);color:var(--soft)}.secondary-action{display:block;margin-top:var(--space-3);width:fit-content}.duration{border:0;padding:0;margin:0 0 var(--space-3);display:flex;gap:var(--space-1)}.duration legend{margin-bottom:var(--space-1)}.duration label{position:relative;display:flex;flex:1}.duration input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;margin:0}.duration span{display:block;width:100%;padding:12px;text-align:center;border:1px solid var(--hairline);border-radius:var(--control-radius);background:var(--raised)}.duration input:checked+span{border-color:var(--hairline-strong);background:var(--raised-strong)}.duration input:focus-visible+span{outline:2px solid var(--brand);outline-offset:3px}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.date-row input,.date-row select{min-width:0;max-width:100%;font-size:16px}.caption{font-size:14px;color:var(--soft);margin-top:var(--space-2)}.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1);margin-top:var(--space-3)}.slots button{font-size:16px;padding:10px var(--space-1)}.slots button[aria-pressed=true]{background:var(--raised-strong);border-color:var(--brand)}.text-button{background:transparent;padding:var(--space-1) 0;border:0;text-decoration:underline;text-underline-offset:5px;color:var(--soft);justify-content:start}#refresh{margin-top:var(--space-2)}#visitor{border-top:1px solid var(--hairline);margin-top:var(--space-3);padding-top:var(--space-3)}#visitor label{margin-top:var(--space-2)}#visitor .action{margin-top:var(--space-3);width:100%}.selection{font-size:16px}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#receipt>*+*{margin-top:var(--space-2)}#receipt p{color:var(--soft)}#manage-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-3)}footer{border-top:1px solid var(--hairline);border-bottom:0;color:var(--soft)}
@media(max-width:900px){main{grid-template-columns:1fr;gap:var(--space-4)}.intro>p:not(.eyebrow){max-width:56ch}.details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.details div{display:block}.details dd{margin-top:var(--space-1)}}
@media(max-width:540px){body{font-size:16px}.site-header{font-size:11px;gap:var(--space-2)}.brand{gap:var(--space-1)}.brand img{width:32px;height:26px}main{padding-block:40px}.booking{padding:var(--space-3)}.date-row{grid-template-columns:1fr}.details{grid-template-columns:1fr;gap:0}.details div{display:grid;grid-template-columns:72px 1fr}.details dd{margin:0}.slots{grid-template-columns:repeat(2,minmax(0,1fr))}footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.site-header .contact-trigger{border:0;background:transparent;padding:8px 0;font:inherit;text-decoration:underline;text-underline-offset:5px;gap:8px}.site-header .contact-trigger:hover{color:var(--ink);background:var(--raised)}
.contact-is-open{overflow:hidden}.contact-modal{width:min(720px,calc(100% - 32px));max-height:calc(100svh - 32px);margin:auto;padding:clamp(20px,4vw,32px);border:1px solid var(--hairline-strong);border-radius:var(--radius);background:var(--panel);color:var(--ink);overflow:auto;overscroll-behavior:contain}.contact-modal::backdrop{background:rgba(7,6,6,.85)}.contact-modal-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:16px}.contact-modal-heading h2{font-size:clamp(24px,4vw,28px)}.contact-modal-heading .text-button{flex-shrink:0;padding:0;min-height:44px}.contact-modal>p{font-size:16px;color:var(--soft)}.contact-modal .portfolio-contact-form{margin-top:24px;font-size:16px}.contact-modal .contact-field{margin-bottom:16px}.contact-modal .contact-submit{margin-top:8px}.contact-modal .contact-row{gap:16px}.contact-modal .contact-field textarea{min-height:96px}.contact-modal .contact-field:has(#contact-outcome) textarea{min-height:72px}.contact-modal :focus-visible{outline:2px solid var(--ink);outline-offset:3px}

footer{flex-wrap:wrap}.privacy-content{display:block;max-width:1100px;min-height:calc(100svh - 160px)}.privacy-content h1{font-size:clamp(40px,5vw,64px);margin-bottom:var(--space-4)}.privacy-content>p:not(.eyebrow){margin-top:var(--space-3);max-width:72ch;color:var(--soft)}
