@font-face{font-family:"Source Sans 3";src:url(/assets/fonts/SourceSans3VF-Upright.woff2)format("woff2-variations");font-style:normal;font-weight:200 900;font-display:swap}@font-face{font-family:Source Code Pro;src:url(/assets/fonts/SourceCodeVF-Upright.woff2)format("woff2-variations");font-style:normal;font-weight:200 900;font-display:swap}:root{color-scheme:light;--byldur-black:#000;--byldur-neutral-carbon:#0d0d0d;--byldur-neutral-deep:#2e2e2e;--byldur-neutral-body:#585858;--byldur-neutral-lift:#868686;--byldur-neutral-light:#bababa;--byldur-neutral-porcelain:#eee;--byldur-white:#fff;--byldur-font-sans:"Source Sans 3", Arial, Helvetica, sans-serif;--byldur-font-mono:"Source Code Pro", "SFMono-Regular", Consolas, monospace;--byldur-weight-light:300;--byldur-weight-regular:400;--byldur-weight-semibold:600;--byldur-tracking-display:-.015em;--byldur-tracking-ui:0;--byldur-tracking-label:.04em;--byldur-text-meta:.75rem;--byldur-text-ui:.875rem;--byldur-text-body:1rem;--byldur-leading-meta:1.25;--byldur-leading-ui:1.4;--byldur-leading-body:1.6;--byldur-space-1:.25rem;--byldur-space-2:.5rem;--byldur-space-3:.75rem;--byldur-space-4:1rem;--byldur-space-5:1.5rem;--byldur-space-6:2rem;--byldur-space-7:3rem;--byldur-space-8:4.5rem;--byldur-layout-gutter:clamp(1.125rem, 4vw, 3.5rem);--byldur-measure-copy:65ch;--byldur-duration-instant:.12s;--byldur-duration-state:.24s;--byldur-duration-enter:.52s;--byldur-ease-enter:cubic-bezier(.16, 1, .3, 1);--byldur-ease-exit:cubic-bezier(.7, 0, .84, 0);--byldur-ease-state:cubic-bezier(.65, 0, .35, 1)}[data-byldur-theme=light]{--byldur-color-canvas:var(--byldur-white);--byldur-color-surface:var(--byldur-neutral-porcelain);--byldur-color-text:var(--byldur-neutral-carbon);--byldur-color-text-secondary:var(--byldur-neutral-body);--byldur-color-border:var(--byldur-neutral-lift);--byldur-color-mark:var(--byldur-neutral-carbon);--byldur-color-focus:var(--byldur-neutral-carbon)}[data-byldur-theme=dark]{color-scheme:dark;--byldur-color-canvas:var(--byldur-black);--byldur-color-surface:var(--byldur-neutral-carbon);--byldur-color-text:var(--byldur-white);--byldur-color-text-secondary:var(--byldur-neutral-light);--byldur-color-border:var(--byldur-neutral-lift);--byldur-color-mark:var(--byldur-neutral-porcelain);--byldur-color-focus:var(--byldur-white)}*,:before,:after{box-sizing:border-box}html{background:var(--byldur-color-canvas);min-width:320px}body{background:var(--byldur-color-canvas);min-width:320px;min-height:100svh;color:var(--byldur-color-text);font-family:var(--byldur-font-sans);font-kerning:normal;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}button,input,textarea,select{font:inherit}a{color:inherit}p,h1,h2,h3,ol,ul{margin:0}button,input,textarea,select{color:inherit}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--byldur-color-focus);outline-offset:.35rem}.byldur-sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){:root{--byldur-duration-instant:1ms;--byldur-duration-state:1ms;--byldur-duration-enter:1ms}}:root{--site-contact:var(--byldur-neutral-carbon);--site-contact-ink:var(--byldur-neutral-porcelain);--site-header-height:clamp(5.5rem, 12vw, 8rem);background:var(--site-contact)}html,body{background:var(--site-contact);color:var(--site-contact-ink)}.contact-page{grid-template-rows:auto 1fr;min-height:100svh;display:grid}.contact-main{min-height:0}.contact-experience{--contact-error:oklch(50% .18 27);--contact-action:oklch(76% .17 148);min-height:calc(100svh - var(--site-header-height));background:var(--site-contact);color:var(--site-contact-ink);grid-template-rows:minmax(0,1fr) auto;display:grid;position:relative;container:contact/inline-size}.contact-experience__content{--contact-gutter-left:max(1.5rem, env(safe-area-inset-left));--contact-gutter-right:max(1.5rem, env(safe-area-inset-right));width:100%;min-width:0;max-width:90rem;padding:clamp(2.5rem, 5svh, 4rem) var(--contact-gutter-right) clamp(2rem, 4svh, 3rem) var(--contact-gutter-left);place-items:center;margin-inline:auto;display:grid}.contact-result-anchor{width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.contact-receipt button{font-family:var(--byldur-font-mono);font-size:var(--byldur-text-meta);font-weight:var(--byldur-weight-regular);letter-spacing:.07em;line-height:var(--byldur-leading-meta);text-transform:uppercase}.contact-field__error,.contact-form__status,.contact-form__result,.contact-receipt{font-family:var(--byldur-font-sans);font-size:.875rem;font-weight:var(--byldur-weight-regular);letter-spacing:0;text-transform:none;line-height:1.25}.contact-form{background:var(--byldur-neutral-porcelain);width:100%;min-width:0;max-width:64rem;min-height:clamp(22rem,42svh,26rem);color:var(--byldur-neutral-carbon);isolation:isolate;border-radius:.25rem;grid-template-rows:minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.contact-form__body{min-height:0;transition:opacity var(--byldur-duration-state) var(--byldur-ease-exit), transform var(--byldur-duration-state) var(--byldur-ease-exit);grid-template-rows:minmax(12rem,1fr) auto;display:grid}.contact-field{background:0 0;min-width:0;padding:clamp(1.25rem,2vw,2rem);position:relative}.contact-field:after{content:"";z-index:1;border:1px solid var(--byldur-neutral-carbon);opacity:0;pointer-events:none;transition:opacity var(--byldur-duration-instant) var(--byldur-ease-enter), transform var(--byldur-duration-instant) var(--byldur-ease-enter);border-radius:.125rem;position:absolute;inset:.5rem;transform:scale(.995)}.contact-field__control{align-content:start;min-width:0;display:grid}.contact-field:has(:focus-visible):after{opacity:.62;transform:scale(1)}.contact-field:has(:is(input,textarea)[aria-invalid=true]):after{border-color:var(--contact-error);opacity:1;transform:scale(1)}.contact-field :is(input,textarea){width:100%;min-width:0;color:var(--byldur-neutral-carbon);caret-color:var(--byldur-neutral-carbon);letter-spacing:-.04em;background:0 0;border:0;border-radius:0;outline:0;padding:0;font-size:clamp(1.75rem,3vw,3.4rem);font-weight:300;line-height:1.05}.contact-field textarea{resize:none;min-height:7rem}.contact-field--email{border-top:1px solid color-mix(in srgb, var(--byldur-neutral-carbon) 18%, transparent);min-height:clamp(6.5rem,12svh,7.5rem)}.contact-field--email :is(input,textarea){font-size:clamp(1.5rem,2.5vw,2.75rem)}.contact-field :is(input,textarea)::placeholder{color:color-mix(in srgb, var(--byldur-neutral-carbon) 60%, transparent);opacity:1;transition:color var(--byldur-duration-state) var(--byldur-ease-enter)}.contact-field :is(input,textarea):focus::placeholder{color:color-mix(in srgb, var(--byldur-neutral-carbon) 64%, transparent)}.contact-field__error{height:1.5rem;min-height:1.5rem;color:var(--contact-error);font-weight:var(--byldur-weight-semibold);text-transform:none;opacity:1;transition:opacity var(--byldur-duration-state) var(--byldur-ease-enter), transform var(--byldur-duration-state) var(--byldur-ease-enter);padding-top:.55rem;line-height:1;overflow:hidden;transform:translate(0,0)}.contact-field__error:empty{opacity:0;transform:translateY(.25rem)}.contact-form__trap{width:1px;height:1px;position:absolute;left:-100vw;overflow:hidden}.contact-submit{background:var(--byldur-white);width:100%;min-width:clamp(12rem,18vw,15rem);min-height:5rem;color:var(--byldur-neutral-carbon);cursor:pointer;font-size:1.375rem;font-weight:var(--byldur-weight-regular);letter-spacing:-.025em;text-align:left;transition:background-color var(--byldur-duration-state) var(--byldur-ease-enter), color var(--byldur-duration-state) var(--byldur-ease-enter), transform var(--byldur-duration-instant) var(--byldur-ease-state);border:0;grid-column:1;justify-content:space-between;align-self:stretch;align-items:center;padding-inline:clamp(1rem,2vw,1.5rem);line-height:1;display:flex}.contact-submit svg{stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round;width:clamp(1.25rem,1.8vw,1.6rem);height:auto;transition:opacity var(--byldur-duration-state) var(--byldur-ease-enter), transform var(--byldur-duration-state) var(--byldur-ease-enter)}.contact-submit:focus-visible{background:var(--contact-action);color:var(--byldur-neutral-carbon);outline-color:var(--byldur-neutral-carbon);outline-offset:-.35rem}.contact-submit:active{transform:translateY(.1rem)}.contact-submit:disabled{cursor:wait}.contact-submit:disabled svg{opacity:.42;transform:scale(.88)}.contact-form[data-state=sending] .contact-submit{background:var(--contact-action);color:var(--byldur-neutral-carbon)}.contact-form__actions{border-top:1px solid color-mix(in srgb, var(--byldur-neutral-carbon) 18%, transparent);background:var(--byldur-neutral-porcelain);min-height:5rem;transition:opacity var(--byldur-duration-state) var(--byldur-ease-exit), transform var(--byldur-duration-state) var(--byldur-ease-exit);grid-template-columns:minmax(0,1fr);display:grid;position:relative}.contact-form__feedback{z-index:2;visibility:hidden;pointer-events:none;opacity:0;min-width:0;transition:opacity var(--byldur-duration-instant) var(--byldur-ease-enter), transform var(--byldur-duration-instant) var(--byldur-ease-enter), visibility 0s linear var(--byldur-duration-instant);align-items:center;padding:1rem clamp(1rem,2.5vw,2rem);display:grid;position:absolute;inset:0 clamp(7.5rem,19vw,10rem) 0 0;transform:translateY(.25rem)}.contact-form:is([data-state=sending],[data-state=error]) .contact-form__feedback,.contact-experience:has(.contact-result-anchor:target) .contact-form__feedback{visibility:visible;opacity:1;transition-delay:0s;transform:translate(0,0)}.contact-form__status{color:color-mix(in srgb, var(--byldur-neutral-carbon) 66%, transparent);text-transform:none}.contact-form__status:empty{display:none}.contact-form__result{color:var(--byldur-neutral-carbon);text-transform:none;display:none}.contact-experience:has(#contact-sent:target) [data-contact-result=sent],.contact-experience:has(#contact-error:target) [data-contact-result=error]{display:block}.contact-form:is([data-state=sending],[data-state=error]) .contact-submit,.contact-experience:has(.contact-result-anchor:target) .contact-submit{padding-left:min(60%,22rem)}.contact-form:is([data-state=sending],[data-state=error]) .contact-submit [data-contact-submit-label],.contact-experience:has(.contact-result-anchor:target) .contact-submit [data-contact-submit-label]{margin-left:auto}.contact-form:is([data-state=sending],[data-state=error]) .contact-submit svg,.contact-experience:has(.contact-result-anchor:target) .contact-submit svg{opacity:0;width:0}.contact-form__result--error{color:var(--byldur-neutral-carbon);font-weight:var(--byldur-weight-semibold)}.contact-experience :where(a,button):focus-visible{outline-color:var(--site-contact-ink)}.contact-form :where(input,textarea,button):focus-visible{outline-color:var(--byldur-neutral-carbon)}.contact-receipt{z-index:2;background:var(--byldur-neutral-porcelain);color:var(--byldur-neutral-carbon);opacity:0;pointer-events:none;text-transform:none;transition:opacity var(--byldur-duration-state) var(--byldur-ease-enter), transform var(--byldur-duration-state) var(--byldur-ease-enter);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(1.25rem,4vw,3rem);padding:clamp(1.5rem,4vw,3.5rem);display:grid;position:absolute;inset:0;transform:translateY(.75rem)}.contact-receipt>*{min-width:0}.contact-receipt p,[data-contact-receipt-email]{overflow-wrap:anywhere}.contact-receipt>svg{stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;width:clamp(2.5rem,5vw,4rem);height:auto}.contact-receipt__title{font-family:var(--byldur-font-sans);letter-spacing:-.055em;margin-bottom:.5rem;font-size:clamp(2.75rem,6vw,6rem);font-weight:280;line-height:.9}.contact-receipt button{min-height:2.75rem;color:inherit;cursor:pointer;font-family:var(--byldur-font-mono);font-size:var(--byldur-text-meta);letter-spacing:.07em;text-transform:uppercase;background:0 0;border:0;border-bottom:1px solid;padding:0}.contact-form[data-state=sent] :is(.contact-form__body,.contact-form__actions){opacity:0;pointer-events:none;transform:translateY(-.5rem)}.contact-form[data-state=sent] .contact-receipt{opacity:1;pointer-events:auto;transform:translate(0,0)}@media (hover:hover) and (pointer:fine){.contact-submit:hover{background:var(--contact-action);color:var(--byldur-neutral-carbon)}}@container contact (width>=64rem){.contact-experience__content{--contact-gutter-left:max(2.5rem, env(safe-area-inset-left));--contact-gutter-right:max(2.5rem, env(safe-area-inset-right))}}@media (width<=47.999rem){.contact-experience__content{padding-top:2rem;padding-bottom:max(2rem, env(safe-area-inset-bottom))}.contact-form{min-height:clamp(19rem,42svh,23rem)}.contact-form__body{grid-template-rows:minmax(7.25rem,1fr) auto}.contact-form__actions{min-height:3.5rem}.contact-field{padding:.75rem 1rem}.contact-field textarea{min-height:3.5rem}.contact-field--email{min-height:4.75rem}.contact-field :is(input,textarea),.contact-field--email :is(input,textarea){font-size:clamp(1.5rem,7.5vw,2rem)}.contact-field__error{height:1.125rem;min-height:1.125rem;padding-top:.3rem;font-size:.75rem}.contact-submit{border-left:0;grid-column:1;width:100%;min-height:3.5rem;font-size:1.2rem}.contact-form__feedback{padding:.75rem 1rem;font-size:.75rem;inset:0 6.5rem 0 0}.contact-form:is([data-state=sending],[data-state=error]) .contact-submit,.contact-experience:has(.contact-result-anchor:target) .contact-submit{padding-left:58%}.contact-receipt{grid-template-columns:auto minmax(0,1fr);align-content:center}.contact-receipt button{grid-column:2;justify-self:start}}
