.contact-left{align-content:start;gap:40px;display:grid}.contact-form-wrap{min-width:0}.contact-form{border:1px solid var(--border-soft);background:var(--contact-card-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--contact-card-shadow);border-radius:18px;gap:18px;padding:clamp(22px,3vw,34px);display:grid}.contact-field{gap:7px;display:grid}.contact-field label{color:var(--text-title);letter-spacing:.22em;text-transform:uppercase;font-size:8px;font-weight:700}.contact-optional{color:var(--text-faintest);letter-spacing:.12em;text-transform:none;font-weight:600}.contact-field input,.contact-field textarea,.contact-field select{border:1px solid var(--field-border);background:var(--field-bg);width:100%;color:var(--ink);font-family:var(--sans);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.5;transition:border-color .2s,box-shadow .2s,background .2s}.contact-field textarea{resize:vertical;min-height:120px}.contact-field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--select-caret) 50%), linear-gradient(135deg, var(--select-caret) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px,6px 6px}.contact-field input:hover,.contact-field textarea:hover,.contact-field select:hover{border-color:var(--field-border-hover)}.contact-field input:focus-visible,.contact-field textarea:focus-visible,.contact-field select:focus-visible{border-color:var(--focus-ring);box-shadow:var(--field-focus-ring);background:var(--field-bg-focus);outline:none}.contact-field input[aria-invalid=true],.contact-field textarea[aria-invalid=true]{border-color:var(--state-emphasis);box-shadow:var(--field-invalid-ring)}.contact-error{border-left:2px solid var(--state-emphasis);color:var(--state-emphasis);margin:0;padding-left:9px;font-size:11px;font-weight:600;line-height:1.5}.contact-honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-submit{justify-self:start;min-width:190px}.contact-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.contact-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite contact-spin;display:inline-block}@keyframes contact-spin{to{transform:rotate(360deg)}}.contact-feedback{border-top:1px solid var(--border-soft);min-height:1.2em;color:var(--text-title);margin:0;padding-top:12px;font-size:12px;line-height:1.7}.contact-feedback:empty{border-top:0;padding-top:0}.contact-privacy{color:var(--text-faint);margin:0;font-size:11px;line-height:1.7}.contact-privacy a{border-bottom:1px solid var(--border-strong);padding-bottom:1px}@media (max-width:760px){.contact-form{padding:20px}.contact-submit{width:100%}}@media (prefers-reduced-motion:reduce){.contact-spinner{animation:none}}
.shatter-card{isolation:isolate;border-radius:inherit;outline:none;flex-direction:column;align-self:stretch;width:100%;min-width:0;height:100%;display:flex;position:relative;overflow:hidden}.shatter-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.shatter-content{z-index:1;opacity:0;visibility:hidden;flex-direction:column;flex:auto;align-items:stretch;width:100%;min-width:0;min-height:0;transition:opacity .15s,transform .15s,visibility 0s linear .15s;display:flex;position:relative;transform:translateY(6px)}.shatter-content>*{flex:auto;width:100%;min-width:0}.shatter-card[data-state=shattering] .shatter-content{visibility:visible;animation:.62s ease-out .12s both shatter-content-reveal}.shatter-card[data-state=shattering] .shatter-content>*{background:var(--shatter-veil-bg);-webkit-backdrop-filter:none;backdrop-filter:none}.shatter-card[data-state=shattering] .project-image{background:0 0}.shatter-card[data-state=shattering] .project-image img{opacity:.3;transition-duration:.12s}.shatter-card[data-state=revealed] .shatter-content{opacity:1;visibility:visible;transition:opacity .15s,transform .15s,visibility;transform:none}@keyframes shatter-content-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.shatter-overlay{z-index:2;border-radius:inherit;pointer-events:auto;position:absolute;inset:0;overflow:hidden}.shatter-overlay.is-shattering{pointer-events:none;z-index:0}.shatter-shell{border:1px solid var(--shatter-shell-border);background:var(--shatter-shell-bg);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:var(--shatter-shell-inset);position:absolute;inset:0;overflow:hidden}.shatter-shell:before{background:var(--shatter-sheen);opacity:.35;content:"";pointer-events:none;width:34%;position:absolute;inset:-45% auto -45% -38%;transform:rotate(18deg)}.shatter-shell.is-cracking{-webkit-backdrop-filter:none;backdrop-filter:none;animation:.12s ease-out both shatter-edge-flash}@keyframes shatter-edge-flash{0%{box-shadow:var(--shatter-flash-start)}45%{box-shadow:var(--shatter-flash-peak)}to{box-shadow:var(--shatter-flash-end)}}.shatter-cracks{opacity:.15;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.shatter-cracks path{fill:none;stroke:var(--shatter-crack);stroke-width:.35px;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:.68px}.shatter-shell.is-cracking .shatter-cracks{opacity:.8}.shatter-shell.is-cracking .shatter-cracks path{animation:.12s ease-out both shatter-crack-draw}@keyframes shatter-crack-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.shatter-hint{color:var(--shatter-hint-text);align-items:center;gap:6px;display:inline-flex;position:absolute;bottom:9px;right:10px}.shatter-hint-glyph{border:1px solid var(--shatter-hint-border);background:var(--shatter-hint-bg);width:23px;height:23px;font-family:var(--serif,Georgia, serif);border-radius:50%;place-items:center;font-size:12px;display:grid}.shatter-hint-label{letter-spacing:.16em;text-transform:uppercase;font-size:7px;font-weight:700}.shatter-shards,.shatter-dust{position:absolute;inset:0;overflow:visible}.shatter-fragment{border:1px solid var(--shatter-fragment-border);background:var(--shatter-fragment-bg);box-shadow:var(--shatter-fragment-inset);filter:var(--shatter-fragment-filter);opacity:.97;will-change:transform, opacity;animation:cubic-bezier(.18,.64,.34,1) both shatter-fragment-fly;position:absolute;inset:0}@keyframes shatter-fragment-fly{0%{opacity:.97;transform:translate(0,0)rotate(0)scale(1)}to{opacity:0;transform:translate3d(var(--tx),var(--ty),0) rotate(var(--rot)) scale(var(--scale))}}.shatter-dust-speck{background:var(--shatter-dust);box-shadow:var(--shatter-dust-glow);opacity:0;will-change:transform, opacity;border-radius:50%;animation:.65s ease-out both shatter-dust-float;position:absolute}@keyframes shatter-dust-float{0%{opacity:0;transform:translate(0,0)scale(.65)}25%{opacity:.52}to{opacity:0;transform:translate3d(var(--tx),var(--ty),0) scale(1.08)}}.shatter-strike{left:var(--impact-x);top:var(--impact-y);background:var(--shatter-slash-image) center / contain no-repeat;width:clamp(90px,55%,230px);height:46px;filter:var(--strike-filter);opacity:.36;transform-origin:50%;pointer-events:none;animation:.33s ease-out 90ms both shatter-strike-flash;position:absolute;transform:translate(-50%,-50%)rotate(-18deg)scaleX(.35)}@keyframes shatter-strike-flash{0%{opacity:0;transform:translate(-50%,-50%)rotate(-18deg)scaleX(.25)}35%{opacity:.36}to{opacity:0;transform:translate(-50%,-50%)rotate(-18deg)scaleX(1)}}.shatter-glints{pointer-events:none;position:absolute;inset:0}.shatter-glints i{left:var(--impact-x);top:var(--impact-y);background:var(--shatter-glint);width:3px;height:3px;box-shadow:var(--shatter-glint-glow);border-radius:50%;animation:.35s ease-out both shatter-glint;position:absolute}.shatter-glints i:first-child{--glint-x:-22px;--glint-y:-17px}.shatter-glints i:nth-child(2){--glint-x:18px;--glint-y:-9px;animation-delay:30ms}.shatter-glints i:nth-child(3){--glint-x:2px;--glint-y:24px;animation-delay:55ms}@keyframes shatter-glint{0%{opacity:.85;transform:translate(0,0)scale(.6)}to{opacity:0;transform:translate3d(var(--glint-x),var(--glint-y),0) scale(1.2)}}.shatter-complete{opacity:0;width:1px;height:1px;animation:.78s linear both shatter-completion;position:absolute}@keyframes shatter-completion{0%{opacity:0}to{opacity:0}}@media (prefers-reduced-motion:reduce){.shatter-card[data-state=revealed] .shatter-content{transition-duration:.15s}.shatter-shell,.shatter-cracks,.shatter-fragment,.shatter-dust-speck,.shatter-strike,.shatter-glints,.shatter-complete{animation:none!important}}
.title-transition{z-index:1100;background:var(--title-overlay-bg);width:100%;height:100lvh;box-shadow:var(--title-overlay-inset);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--title-cover-in) ease-out, visibility 0s linear var(--title-cover-in);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.title-transition[data-state=entering],.title-transition[data-state=holding]{visibility:visible;opacity:1;pointer-events:auto;will-change:opacity}.title-transition[data-state=entering]{animation:title-overlay-in var(--title-cover-in) ease-out both}@keyframes title-overlay-in{0%{opacity:0}to{opacity:1}}.title-transition[data-state=exiting]{visibility:visible;opacity:0;pointer-events:auto;transition:opacity var(--title-cover-out) ease-in, visibility 0s;will-change:opacity}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.title-transition[data-state=entering],.title-transition[data-state=holding],.title-transition[data-state=exiting]{background:var(--title-overlay-glass);-webkit-backdrop-filter:blur(16px)saturate(1.25)brightness(1.04);backdrop-filter:blur(16px)saturate(1.25)brightness(1.04)}}.title-transition[data-state=entering]:before,.title-transition[data-state=holding]:before,.title-transition[data-state=exiting]:before{z-index:0;content:"";background:var(--title-overlay-sheen);opacity:.6;pointer-events:none;position:absolute;inset:0}.title-transition-artwork{z-index:1;width:min(78vw,980px);max-width:100%;display:block;position:relative}.title-transition-artwork:before{z-index:0;content:"";background:var(--title-overlay-halo);opacity:0;pointer-events:none;transition:opacity var(--title-image-reveal) ease-out;position:absolute;inset:-18%}.title-transition[data-state=entering] .title-transition-artwork:before,.title-transition[data-state=holding] .title-transition-artwork:before{opacity:1}.title-transition[data-state=exiting] .title-transition-artwork:before{opacity:0}.title-transition-image{z-index:1;width:100%;height:auto;mix-blend-mode:var(--title-overlay-blend);filter:var(--title-overlay-filter);opacity:0;clip-path:inset(0 100% 0 0);transition:opacity var(--title-image-reveal) ease-out, transform var(--title-image-reveal) ease-out, clip-path var(--title-image-reveal) ease-out;will-change:opacity, transform;display:block;position:relative;transform:scale(1.06)}.title-transition[data-state=entering] .title-transition-image,.title-transition[data-state=holding] .title-transition-image{opacity:1;clip-path:inset(0);animation:title-image-reveal var(--title-image-reveal) ease-out both;transform:scale(1)}@keyframes title-image-reveal{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:scale(1.06)}to{opacity:1;clip-path:inset(0);transform:scale(1)}}.title-transition[data-state=exiting] .title-transition-image{opacity:0;clip-path:inset(0);transition:opacity var(--title-cover-out) ease-in, transform var(--title-cover-out) ease-in;transform:scale(.985)}@media (prefers-reduced-transparency:reduce){.title-transition[data-state=entering],.title-transition[data-state=holding],.title-transition[data-state=exiting]{background:var(--title-overlay-reduced);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.title-transition,.title-transition-image{transition:none!important}}
