.contact-page{background:var(--color-paper)}.contact-hero{padding:7rem var(--page-left);background:radial-gradient(circle at 8% 12%, #a64a361a, transparent 22rem), var(--color-paper-deep);color:var(--color-forest-deep);position:relative;overflow:hidden}.contact-hero__inner{width:100%;max-width:var(--page-width);grid-template-columns:minmax(0,.9fr) minmax(25rem,1.1fr);align-items:start;gap:8rem;margin-inline:auto;display:grid}.contact-hero__copy{max-width:43rem}.contact-hero h1{font-family:var(--font-display);font-size:var(--text-page-title);letter-spacing:var(--page-title-tracking);font-weight:400;line-height:var(--page-title-leading);margin:0 0 1.6rem}.contact-hero__copy>p:not(.eyebrow){max-width:35rem;color:var(--color-muted);font-family:var(--font-display);font-size:1.35rem;line-height:1.5}.contact-hero address{color:var(--color-muted);font-size:var(--text-small);letter-spacing:.04em;gap:1.5rem;margin-top:3rem;font-style:normal;line-height:1.55;display:grid}.contact-hero address a{color:var(--color-forest);font-size:1rem;font-weight:700}.contact-hero address a:hover,.contact-hero address a:focus-visible{color:var(--color-rust)}.contact-form{border-top:4px solid var(--color-rust);background:var(--color-paper);color:var(--color-ink);grid-template-columns:1fr 1fr;gap:1.6rem;padding:3rem;display:grid;box-shadow:1.25rem 1.25rem #20552f1f}.contact-form__heading,.contact-form__field--full,.contact-form__status,.contact-form>button{grid-column:1/-1}.contact-form__heading>p:last-child{max-width:30rem;color:var(--color-muted);font-family:var(--font-display);margin:0;font-size:1.25rem;line-height:1.45}.contact-form__field{gap:.55rem;display:grid}.contact-form label{color:var(--color-forest-deep);font-size:var(--text-micro);letter-spacing:.12em;text-transform:uppercase;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{border:0;border-bottom:1px solid var(--color-line);width:100%;color:var(--color-ink);font-family:var(--font-display);background:0 0;padding:.65rem 0;font-size:1.2rem}.contact-form textarea{resize:vertical}.contact-form select{appearance:none;cursor:pointer;background:#20552f12 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2320552f' stroke-width='1.5'/%3E%3C/svg%3E") right 1rem center/.75rem no-repeat;border:1px solid #20552f3d;border-radius:.15rem;min-height:3.25rem;padding:.7rem 2.8rem .7rem 1rem}.contact-form select:invalid{color:var(--color-muted)}.contact-form select option{background:var(--color-paper);color:var(--color-ink)}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--color-rust)}.contact-form__status{min-height:1.5rem;color:var(--color-muted);font-size:var(--text-small);margin:0}.contact-form>button{justify-self:start}.contact-form>button:disabled{cursor:wait;opacity:.72;transform:none}.form-honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-10000px}.contact-newsletter{padding:7rem var(--page-left);background:var(--color-forest-deep);color:var(--color-paper);grid-template-columns:1fr 1fr;gap:8rem;display:grid}.contact-newsletter h2{font-family:var(--font-display);font-size:var(--text-section-title);margin:0;font-weight:400;line-height:1}.contact-newsletter>div:last-child>p:first-child{max-width:34rem;color:var(--color-fog);font-family:var(--font-display);font-size:var(--text-lead)}.contact-newsletter__form{grid-template-columns:minmax(0,1fr) auto;gap:1rem;margin-top:2rem;display:grid}.contact-newsletter__form input,.contact-newsletter__form button{border:0;height:3.5rem}.contact-newsletter__form input{min-width:0;color:var(--color-paper);background:0 0;border-bottom:1px solid #f2eee5a6;padding:0}.contact-newsletter__form input::placeholder{color:#f2eee5ad}.contact-newsletter__form button{background:var(--color-sand);color:var(--color-forest-dark);cursor:pointer;font-size:var(--text-label);letter-spacing:.12em;text-transform:uppercase;padding:0 1.25rem;font-weight:700}.contact-newsletter>div:last-child>p:last-child{color:var(--color-fog);font-size:.75rem}@media (width<=70rem){.contact-hero__inner{gap:4rem}}@media (width<=48rem){.contact-hero{padding-block:5rem}.contact-hero__inner,.contact-form,.contact-newsletter{grid-template-columns:1fr}.contact-form{padding:2rem 1.5rem}.contact-form__heading,.contact-form__field--full,.contact-form__status,.contact-form>button{grid-column:auto}.contact-newsletter{gap:2.5rem}.contact-newsletter__form{grid-template-columns:1fr}}
