.contact{--contact-gap:clamp(40px, 5.5vh, 64px);--field-border:#ffffff3d;padding-block:var(--section-y);background:var(--paper);color:var(--ink)}.contact__shell{padding-inline:calc(var(--gutter) + var(--inset))}.contact .xp-rule{background:var(--rule);width:100%;height:1px;display:block}.contact__head{row-gap:clamp(18px,2.4vh,28px);padding-bottom:clamp(48px,7vh,88px);display:grid}.contact__eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);align-items:center;gap:10px;margin:0;font-size:11px;font-weight:500;line-height:1;display:flex}.contact__eyebrow span{color:var(--ink)}.contact__title{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:0;font-size:clamp(38px,5.1vw,70px);font-weight:300;line-height:1.02}.contact__form{column-gap:var(--col-gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.contact__aside{--aside-gap:clamp(28px, 4vh, 40px);gap:var(--aside-gap);flex-direction:column;grid-area:1/10/4/-1;display:flex}.contact__line{--line-size:clamp(96px, 7vw, 120px);height:calc(var(--line-size) * 352 / 372);margin-bottom:calc(-1 * var(--aside-gap));position:relative}.contact__line .c-line{bottom:0;left:calc(var(--line-size) * 210 / 372);position:absolute;translate:-50%}.contact__above{padding-bottom:var(--contact-gap);grid-area:1/1/2/span 8;display:grid}.contact__sign{grid-area:2/1/3/span 8}.contact__below{padding-top:var(--contact-gap);grid-area:3/1/4/span 8;display:grid}.contact__above>*,.contact__below>*{grid-area:1/1;min-width:0}.contact__intro{max-width:34ch;color:var(--ink-soft);margin:0;font-size:15px;font-weight:400;line-height:1.62}.contact__routes,.contact__recap{border-bottom:1px solid var(--rule);margin:0}.contact__route{border-top:1px solid var(--rule);flex-direction:column;gap:6px;padding:14px 0;display:flex}.contact__route dt{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);font-size:11px;font-weight:400;line-height:1.4}.contact__route dd{color:var(--ink);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;column-gap:12px;margin:0;font-size:15px;line-height:1.5;display:flex}.contact__route a{color:var(--ink);transition:background-size var(--dur) var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;text-decoration:none}.contact__route a:focus-visible{background-size:100% 1px}.contact__email{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(20px,1.7vw,26px);font-weight:300;line-height:1.25}.contact__copy{min-height:44px;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);cursor:pointer;transition:color .28s var(--ease);background:0 0;border:0;align-items:center;padding:0;font-size:11px;display:inline-grid}.contact__copy>span{transition:opacity .28s var(--ease);grid-area:1/1}.contact__copy>span+span,.contact__copy[data-copied]>span:first-child{opacity:0}.contact__copy[data-copied]>span+span{opacity:1}.contact__project{flex-direction:column;gap:clamp(32px,4.4vh,44px);display:flex}.contact__field{flex-direction:column;min-width:0;display:flex}.contact__label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);transition:color .28s var(--ease);align-items:baseline;gap:10px;margin:0 0 10px;padding:0;font-size:11px;font-weight:400;line-height:1.4;display:flex}.contact__label span{color:var(--ink-dim)}.contact__field:focus-within .contact__label{color:var(--ink)}.contact__input{border:1px solid var(--field-border);width:100%;min-width:0;min-height:52px;font-family:var(--font-sans);color:var(--ink);caret-color:var(--ember);transition:border-color .28s var(--ease), background-color .28s var(--ease);background:#ffffff06;border-radius:0;padding:14px 16px;font-size:17px;font-weight:300;line-height:1.4}.contact__input::placeholder{color:var(--ink-dim);opacity:1}.contact__input:focus{border-color:var(--ember);background:#ffffff0a;outline:none}.contact__input[aria-invalid=true]{border-color:var(--destructive)}.contact__input:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--ember);box-shadow:inset 0 0 0 1000px var(--paper-raised)}.contact__input--area{field-sizing:content;resize:vertical;min-height:148px;max-height:420px;display:block;overflow-y:auto}.contact .contact__hint,.contact .contact__field-error{color:var(--ink-dim);margin:8px 0 0;font-size:13px;line-height:1.5}.contact__field-error{color:var(--destructive)}.contact__types{border:0;min-width:0;margin:0;padding:0}.contact__type-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.contact__type{border:1px solid var(--field-border);min-height:52px;color:var(--ink-soft);cursor:pointer;transition:color .28s var(--ease), border-color .28s var(--ease), background-color .28s var(--ease);grid-template-columns:12px minmax(0,1fr);align-items:center;gap:14px;padding:14px 16px;font-size:16px;font-weight:300;line-height:1.35;display:grid}.contact__type input{appearance:none;border:1px solid var(--ink-dim);background:var(--ink);width:12px;height:12px;box-shadow:inset 0 0 0 6px var(--paper);cursor:pointer;transition:box-shadow .28s var(--ease), border-color .28s var(--ease);border-radius:50%;margin:0}.contact__type input:checked{border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--paper)}.contact__type:has(:checked){border-color:var(--ink);color:var(--ink);background:#ffffff0a}.contact__type input:focus-visible{outline:none}.contact__type:has(:focus-visible){outline:1px solid var(--ember);outline-offset:3px}.contact__sign{--slot:calc(100% - 28px);height:1px;position:relative}.contact__sign .xp-rule{background:var(--rule-strong)}.contact__slot{top:-4px;left:var(--slot);background:var(--rule-strong);width:1px;height:9px;position:absolute}.contact__sign-mark{top:0;left:var(--slot);background:var(--paper);color:var(--ink);clip-path:inset(0% 100% 0% 0%);padding:0 13px;display:flex;position:absolute;transform:translate(-50%,-50%)}.contact__sign-mark svg{opacity:.92;width:30px;height:auto;display:block}.contact__pen{background:var(--ember);width:5px;height:5px;box-shadow:0 0 0 3px var(--ember-wash);pointer-events:none;border-radius:50%;position:absolute;top:-2px;left:-2px}.contact__person{flex-direction:column;display:flex}.contact__fields{gap:clamp(24px, 3.4vh, 32px) var(--col-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact .contact__error{color:var(--destructive);margin:clamp(24px,3.4vh,32px) 0 0;font-size:13px;line-height:1.5}.contact__submit-row{flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:clamp(32px,4.4vh,44px);display:flex}.contact__submit:disabled{opacity:1;cursor:default}.contact__submit[aria-disabled=true]{cursor:progress}.contact__status{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.contact__nojs{color:var(--ink-soft);margin:0;font-size:16px;line-height:1.62}.contact__nojs a{color:var(--ink);-webkit-text-decoration:underline 1px var(--ink-faint);text-decoration:underline 1px var(--ink-faint);text-underline-offset:.22em}.contact__form[data-sent] :is(.contact__project,.contact__person){visibility:hidden}.contact .contact__done-title{margin:0 0 calc(-1 * var(--contact-gap));font-family:var(--font-display);letter-spacing:-.035em;color:var(--ink);align-self:end;padding-bottom:.5em;font-size:clamp(32px,3.6vw,52px);font-weight:300;line-height:1.04;overflow:clip}.contact__done-title>span{display:block}.contact__done-title:focus{outline:none}.contact__next{margin-top:calc(28px - var(--contact-gap));flex-direction:column;align-self:start;align-items:flex-start;gap:28px;display:flex}.contact__done-text{max-width:52ch;color:var(--ink-soft);margin:0;font-size:16px;line-height:1.62}.contact__recap{width:100%;max-width:44ch}.contact :is(.contact__aside,.contact__project,.contact__person):focus-within{opacity:1!important;transform:none!important}.contact :is(input,textarea,.contact__done-title){scroll-margin-block:120px 40px}@media (hover:hover) and (pointer:fine){.contact__route a:hover{background-size:100% 1px}.contact__copy:hover{color:var(--ink)}.contact__input:hover:not(:focus):not([aria-invalid=true]){border-color:#ffffff6b}.contact__type:hover:not(:has(:checked)){border-color:#ffffff6b}.contact__type:hover{color:var(--ink)}}@media (forced-colors:active){.contact__input,.contact__type{border-color:canvastext}.contact__input:focus-visible{outline-offset:2px;outline:2px solid highlight}.contact__type input{appearance:auto;box-shadow:none}}@media (scripting:none){.contact__project,.contact__person,.contact__slot,.contact__sign-mark{display:none}}@media (max-width:1100px){.contact__br{display:none}.contact__aside,.contact__above,.contact__sign,.contact__below{grid-area:auto/1/auto/-1}.contact__aside{padding-bottom:var(--contact-gap)}.contact__intro{max-width:44ch}.contact__routes{column-gap:var(--col-gap);grid-template-columns:minmax(0,7fr) minmax(0,5fr);display:grid}}@media (max-width:560px){.contact{--contact-gap:40px}.contact__routes,.contact__type-list,.contact__fields{grid-template-columns:minmax(0,1fr)}.contact__route{min-height:56px}.contact__submit-row{flex-direction:column;align-items:flex-start}}