/* A diagonal change of scene, sharing the portfolio's ink, paper and cobalt. */
.contact-reveal{--c-paper:oklch(96.5% .007 250);--c-ink:oklch(19.5% .014 260);--c-muted:oklch(72% .025 255);--c-line:oklch(45% .03 255 / .65);--c-blue:oklch(74% .135 266);position:fixed;inset:0;margin:0;border:0;padding:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;background:var(--c-ink);color:var(--c-paper);font-family:Archivo,Arial,sans-serif;overflow:hidden;isolation:isolate;clip-path:polygon(100% 100%,100% 100%,100% 100%);transition:clip-path 950ms cubic-bezier(.76,0,.24,1);color-scheme:dark;text-align:left}
.contact-reveal:not([open]){display:none}.contact-reveal[open]{display:block}.contact-reveal::backdrop{background:transparent}.contact-reveal.is-open{clip-path:polygon(-100% 100%,100% 100%,100% -100%)}
.contact-reveal *{box-sizing:border-box}.contact-reveal [hidden]{display:none!important}.contact-reveal a{color:inherit;text-decoration:none}.contact-reveal button,.contact-reveal input,.contact-reveal textarea{font:inherit}.contact-reveal h2,.contact-reveal h3,.contact-reveal p{margin:0}.contact-reveal svg{width:22px;height:22px;flex-shrink:0}.contact-reveal button{cursor:pointer}.contact-reveal a:focus-visible,.contact-reveal button:focus-visible{outline:2px solid var(--c-blue);outline-offset:5px}
.contact-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.contact-grid{position:absolute;inset:0;background-image:linear-gradient(oklch(71% .03 258 / .075) 1px,transparent 1px),linear-gradient(90deg,oklch(71% .03 258 / .075) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,black,transparent 36%,transparent 64%,black)}
.contact-orbit.contact-orbit-left{position:absolute;width:clamp(240px,30vw,490px);height:auto;left:-9%;top:16%;color:oklch(68% .13 269 / .42);transform:translate3d(0,30px,0) rotate(-8deg);opacity:0;transition:transform 1800ms cubic-bezier(.16,1,.3,1),opacity 750ms}
.is-open .contact-orbit.contact-orbit-left{transform:translate3d(0,0,0) rotate(0);opacity:1;transition-delay:220ms}.contact-fold{position:absolute;width:260px;height:310px;right:-55px;bottom:17%;transform:rotate(-32deg);perspective:650px}.contact-fold i{position:absolute;inset:0;border:1px solid oklch(73% .11 265 / .45);border-radius:50%;transform:rotateY(calc(var(--i)*12deg)) rotateZ(calc(var(--i)*6deg));background:linear-gradient(145deg,oklch(70% .16 266 / .03),transparent 70%)}
.contact-fold i:nth-child(1){--i:0}.contact-fold i:nth-child(2){--i:1}.contact-fold i:nth-child(3){--i:2}.contact-fold i:nth-child(4){--i:3}.contact-fold i:nth-child(5){--i:4}.contact-fold i:nth-child(6){--i:5}.contact-fold i:nth-child(7){--i:6}.contact-fold i:nth-child(8){--i:7}
.contact-annotation{position:absolute;font-size:12px;line-height:1.65;color:oklch(69% .03 255);letter-spacing:.02em}.annotation-left{left:4%;bottom:20%}.annotation-right{right:4%;top:24%;writing-mode:vertical-rl}.contact-cross{position:absolute;color:var(--c-muted);font-size:25px;font-weight:300}.cross-one{left:20%;bottom:12%}.cross-two{right:18%;top:15%}
.contact-top{position:absolute;inset:0 0 auto;z-index:3;display:flex;align-items:center;justify-content:space-between;height:88px;width:min(1440px,calc(100% - 64px));margin:auto}.contact-signature{font-size:19px;font-weight:600;letter-spacing:-.6px;display:flex;align-items:baseline;gap:20px}.contact-signature>span{font-size:13px;color:var(--c-muted);font-weight:400;letter-spacing:0}.contact-close{width:48px;height:48px;border:1px solid var(--c-line);border-radius:50%;color:var(--c-paper);background:var(--c-ink);display:grid;place-items:center;transition:background 200ms,border-color 200ms}.contact-close svg{width:25px;height:25px;stroke-width:1.8}.contact-close:hover{background:oklch(30% .03 260);border-color:var(--c-muted)}
.contact-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:110px 32px 90px;display:flex;align-items:safe center;justify-content:center;scrollbar-color:var(--c-line) var(--c-ink)}.contact-sheet{width:min(580px,100%);position:relative;margin-block:auto;opacity:0;transform:translate3d(24px,34px,0);transition:opacity 240ms ease,transform 350ms cubic-bezier(.16,1,.3,1)}.is-open .contact-sheet{opacity:1;transform:none;transition:opacity 600ms ease 410ms,transform 900ms cubic-bezier(.16,1,.3,1) 350ms}
.contact-kicker{font-size:13px;color:var(--c-blue);margin-bottom:20px!important}.contact-copy h2{font-size:clamp(38px,4.3vw,62px);font-weight:450;line-height:1.05;letter-spacing:-.05em}.contact-copy>p:last-child{color:var(--c-muted);font-size:16px;line-height:1.65;margin-top:19px}.contact-copy{margin-bottom:35px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:26px}.contact-field label{display:block;font-size:13px;font-weight:500;margin-bottom:10px;color:var(--c-paper)}.contact-field input,.contact-field textarea{width:100%;border:1px solid var(--c-line);background:oklch(24% .014 260 / .62);color:var(--c-paper);border-radius:5px;padding:14px 16px;font-size:16px;line-height:1.5;transition:border-color 180ms,background 180ms;outline-offset:3px;box-shadow:none}.contact-field textarea{resize:vertical;min-height:132px;max-height:35dvh;display:block}.contact-field input::placeholder,.contact-field textarea::placeholder{color:oklch(65% .022 260);opacity:1}.contact-field input:focus,.contact-field textarea:focus{outline:2px solid var(--c-blue);border-color:var(--c-blue);background:oklch(25% .02 260)}.contact-field [aria-invalid="true"]{border-color:oklch(78% .11 26)}.contact-field-error{display:block;color:oklch(82% .1 26);font-size:12px;line-height:1.5;min-height:8px;padding-top:4px}.message-field{margin-top:16px}
.contact-send-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:23px}.contact-send-row>p{font-size:12px;color:var(--c-muted);line-height:1.65}.contact-submit,.contact-return{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:54px;padding:14px 22px;border:1px solid transparent;border-radius:4px;font-weight:500;font-size:15px;background:var(--c-paper);color:var(--c-ink);transition:background 200ms,transform 250ms}.contact-submit:hover,.contact-return:hover{background:oklch(85% .08 267);transform:translateY(-2px)}.contact-submit:disabled{cursor:wait;opacity:.7;transform:none}.contact-status{font-size:14px;line-height:1.6;margin-top:18px!important;color:oklch(82% .1 26)}.contact-status:empty{display:none}.contact-direct{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--c-line);padding-top:23px;margin-top:31px;font-size:13px;line-height:1.6;color:var(--c-muted)}.contact-direct>a{color:var(--c-paper);text-underline-offset:5px}.contact-direct>a:hover{text-decoration:underline}
.contact-trap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.contact-bottom-note{position:absolute;bottom:24px;left:32px;right:32px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.025em;color:oklch(66% .025 260);pointer-events:none}.contact-success{padding:12px 0 30px;outline:0}.contact-success-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:oklch(76% .08 165 / .12);color:oklch(83% .09 165);font-size:23px;margin-bottom:24px}.contact-success h3{font-size:35px;letter-spacing:-1px;font-weight:450}.contact-success p{font-size:17px;line-height:1.7;color:var(--c-muted);margin:14px 0 27px}.contact-reveal.is-sent .contact-copy{display:none}
html.contact-is-open{overflow:hidden}.contact-is-open body{overflow:hidden}
.contact-top{background:var(--c-ink)}
@media(max-width:700px){.v-nav .nav-email{display:inline-flex;padding:8px 10px;font-size:12px;gap:7px}.v-nav nav{gap:14px}.v-nav .nav-email .icon{width:16px;height:16px}}
@media(max-width:360px){.v-nav nav>a:first-child{display:none}}
@media(min-width:1700px){.contact-orbit.contact-orbit-left{left:0}.contact-fold{right:5%}.contact-sheet{width:640px}}
@media(max-width:1000px){.contact-orbit.contact-orbit-left{left:-19%;opacity:.6}.contact-fold{right:-160px}.annotation-left,.annotation-right{display:none}.contact-signature>span{display:none}.contact-grid{opacity:.6}}
@media(max-width:650px){.contact-top{width:calc(100% - 40px);height:78px}.contact-signature{font-size:18px}.contact-close{width:44px;height:44px}.contact-scroll{padding:103px 24px 65px;align-items:flex-start}.contact-sheet{margin-block:0}.contact-copy{margin-bottom:27px}.contact-kicker{margin-bottom:16px!important}.contact-copy h2{font-size:clamp(35px,8.7vw,49px)}.contact-copy>p:last-child{font-size:15px;margin-top:16px}.contact-fields{grid-template-columns:1fr;gap:14px}.message-field{margin-top:14px}.contact-field input,.contact-field textarea{padding:12px 14px}.contact-field textarea{min-height:116px}.contact-send-row{align-items:center;margin-top:18px;gap:12px}.contact-submit{padding:13px 17px;gap:13px;min-height:50px}.contact-send-row>p{font-size:11px}.contact-direct{flex-direction:column;gap:5px;margin-top:25px;padding-top:20px}.contact-bottom-note{display:none}.contact-orbit.contact-orbit-left{width:290px;left:-220px;top:7%}.contact-fold{width:190px;height:250px;right:-168px;bottom:9%}.contact-cross{display:none}.contact-grid{mask-image:linear-gradient(90deg,black,transparent 23%,transparent 85%,black);background-size:48px 48px}}
@media(max-height:780px) and (min-width:651px){.contact-scroll{padding-top:96px;padding-bottom:65px;align-items:flex-start}.contact-sheet{margin-block:0}.contact-copy h2{font-size:47px}.contact-copy{margin-bottom:25px}.contact-kicker{margin-bottom:13px!important}.contact-copy>p:last-child{margin-top:12px}.contact-field textarea{min-height:110px}.contact-direct{margin-top:22px}.contact-bottom-note{bottom:14px}}
@media(prefers-reduced-motion:reduce){.contact-reveal,.contact-reveal *{transition:none!important;animation:none!important}.contact-reveal{clip-path:none;opacity:0}.contact-reveal.is-open{opacity:1}.contact-sheet,.contact-orbit{transform:none!important}}
@media print{.contact-reveal{display:none!important}}
