.contact-page{min-height:100svh;padding:calc(1rem + clamp(6rem, 11svh, 8rem)) var(--page-gutter) clamp(3rem,5vw,5rem);background:var(--color-paper);color:var(--color-ink)}.contact-page__layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-column-gap:clamp(1rem,2.4vw,2.5rem);column-gap:clamp(1rem,2.4vw,2.5rem);align-items:start;width:100%;max-width:120rem;margin:0 auto}.contact-page__introduction{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:end;align-items:last baseline;min-width:0;padding-bottom:calc(clamp(3rem, 5vw, 5rem) + clamp(2rem, 3vw, 3rem))}.contact-page__masthead{position:relative;grid-column:1/span 7;min-width:0}.contact-page__introduction h1{margin:0;padding:calc(.04em / var(--display-scale)) 0 calc(.06em / var(--display-scale));font-family:var(--font-display);font-size:calc(var(--type-display-hero) * var(--display-scale));font-weight:900;line-height:calc(.68 / var(--display-scale))}.contact-page__copy{grid-column:8/-1;min-width:0;margin:0;font-size:var(--type-body);font-weight:300;line-height:var(--leading-body);letter-spacing:-.02em;text-wrap:pretty}.contact-page__details{display:grid;grid-column:1/span 6;grid-row:2;grid-template-columns:subgrid;grid-template-rows:auto 1fr;grid-row-gap:clamp(1.5rem,2.5vw,2rem);row-gap:clamp(1.5rem,2.5vw,2rem);align-items:start;min-width:0;margin:0}.contact-page__person{grid-column:span 2;grid-row:1/-1;min-width:0}.contact-page__channel{grid-column:5/span 2;min-width:0}.contact-page__details dt{margin-bottom:.45rem;font-family:var(--font-mono);font-size:var(--type-meta);line-height:1.15;text-transform:uppercase;letter-spacing:.06em}.contact-page__details dd{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;margin:0;font-size:var(--type-body);font-weight:300;line-height:var(--leading-body);letter-spacing:-.02em}.contact-page__name{font-weight:500}.contact-page__details a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;transition:color var(--interaction-response) var(--ease-response)}.contact-page__details a:focus-visible,.contact-page__details a:hover{color:var(--color-rust)}.contact-page__form-column{grid-column:8/-1;grid-row:2;min-width:0}.contact-form{display:block;--field-gap:2.5rem}.contact-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.contact-form__field{display:block;min-width:0;margin-bottom:var(--field-gap)}.contact-form__field label{display:block;margin-bottom:.45rem;font-family:var(--font-mono);font-size:var(--type-meta);line-height:1.15;text-transform:uppercase;letter-spacing:.06em}.contact-form__hint{max-width:38rem;margin:0 0 .55rem;color:color-mix(in srgb,var(--color-ink) 62%,transparent);font-family:var(--font-mono);font-size:var(--type-small);line-height:1.35}.contact-form input[type=email],.contact-form input[type=tel],.contact-form input[type=text],.contact-form textarea{width:100%;padding:.65rem .75rem;border:0;border-bottom:1px solid color-mix(in srgb,var(--color-ink) 52%,transparent);border-radius:0;background:transparent;color:inherit;font-family:var(--font-mono);font-size:var(--type-body);font-weight:300;line-height:var(--leading-body);transition:border-color var(--interaction-response) var(--ease-response)}.contact-form input[type=email],.contact-form input[type=tel],.contact-form input[type=text]{height:44px}.contact-form textarea{display:block;resize:vertical}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--color-rust);outline-offset:2px}.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border-bottom-color:var(--color-rust)}.contact-form__error{margin:.65rem 0 0;color:var(--color-rust);line-height:1.3}.contact-form__error,.contact-form__submit{font-family:var(--font-mono);font-size:var(--type-small)}.contact-form__submit{width:100%;height:56px;border:0;background:var(--color-rust);color:var(--color-ink);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transform:scale(1);transition:background-color var(--interaction-response) var(--ease-response),transform var(--interaction-press-out) var(--ease-response)}.contact-form__submit:hover:not(:disabled){background:var(--color-ink);color:var(--color-paper)}.contact-form__submit:active:not(:disabled){transform:scale(var(--interaction-press-scale))}.contact-form__submit:disabled{opacity:.5;cursor:progress}.contact-form__submit:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.contact-form__status{margin:0;font-family:var(--font-mono);font-size:var(--type-small);line-height:var(--leading-body);overflow-wrap:anywhere}.contact-form__status:not(:empty){margin-top:1rem}.contact-form__preview-note{display:block;margin-top:.35rem;color:color-mix(in srgb,var(--color-ink) 62%,transparent)}.contact-form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media (max-width:800px){.contact-page{padding-top:1rem;padding-bottom:3rem}.contact-page__layout{grid-template-columns:minmax(0,1fr);row-gap:clamp(3rem,8vw,5rem)}.contact-page__form-column,.contact-page__introduction{grid-column:1}.contact-page__details,.contact-page__form-column{grid-column:1;grid-row:auto}.contact-page__details{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(1rem,2.4vw,2.5rem)}.contact-page__person{grid-column:auto}.contact-page__channel{grid-column:3}.contact-page__introduction{display:block;padding-bottom:0}.contact-page__masthead{min-height:max(10rem,24svh,calc(6.5rem + var(--type-display-mobile-route) * .88));padding-top:6.5rem}.contact-page__introduction h1{position:absolute;right:0;bottom:0;left:0;font-size:calc(var(--type-display-mobile-route) * var(--display-scale));line-height:calc(.78 / var(--display-scale))}.contact-page__copy{max-width:52ch;margin:0;padding-top:2.5rem}}@media (max-width:640px){.contact-form__row{grid-template-columns:minmax(0,1fr)}.contact-page__details{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.contact-page__channel,.contact-page__person{grid-column:auto;grid-row:auto}.contact-form__submit{height:48px}}