.v4-contact{--c-field:#ffffff47;--c-dim:#ffffff9e;background:var(--c-ink);color:var(--c-bg);padding-block:var(--section-y);scroll-margin-top:0}.v4-contact__head{gap:1.25rem;margin-bottom:clamp(3rem,9vh,6rem);display:grid}.v4-contact__title{max-width:13ch}.v4-contact__dot{background:var(--c-accent);border-radius:50%;width:.14em;height:.14em;margin-left:.04em;display:inline-block}.v4-contact__lead{max-width:40ch;color:var(--c-dim)}@media (min-width:900px){.v4-contact__head{grid-template-columns:1fr auto;align-items:end;column-gap:4rem}}.v4-contact__grid{gap:clamp(3.5rem,8vh,5rem);display:grid}@media (min-width:1000px){.v4-contact__grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:start;column-gap:clamp(3rem,6vw,8rem)}}.v4-contact__form{gap:clamp(1.75rem,3.5vh,2.25rem);display:grid}.v4-contact__row{gap:inherit;display:grid}@media (min-width:640px){.v4-contact__row{column-gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr))}}.v4-contact__field{gap:.5rem;display:grid}.v4-contact__field label{font-family:var(--font-code);font-size:var(--fs-label);letter-spacing:.04em;text-transform:uppercase;color:var(--c-dim)}.v4-contact__optional{text-transform:none;letter-spacing:0;opacity:.7}.v4-contact__field input,.v4-contact__field textarea{width:100%;color:var(--c-bg);font:inherit;letter-spacing:-.02em;border:0;border-bottom:1px solid var(--c-field);transition:border-color .3s var(--ease-out);background:0 0;border-radius:0;outline:none;padding:.6rem 0;font-size:clamp(1.125rem,.6vw + 1rem,1.5rem)}.v4-contact__field textarea{resize:vertical;min-height:3.5em;line-height:1.4}.v4-contact__field textarea::placeholder{color:#ffffff52;font-size:.8em}.v4-contact__field input:hover,.v4-contact__field textarea:hover{border-color:#ffffff8c}.v4-contact__field input:focus-visible,.v4-contact__field textarea:focus-visible{border-color:var(--c-accent)}.v4-contact__field[data-invalid] input{border-color:#ff6b5b}.v4-contact__error,.v4-contact__form-error{color:#ff8a7d;font-size:var(--fs-small)}.v4-contact__estimate{border-left:3px solid var(--c-accent);font-size:var(--fs-small);background:#ffffff0f;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.v4-contact__estimate strong{font-weight:500}.v4-contact__estimate-remove{width:2rem;height:2rem;color:var(--c-dim);transition:color .3s var(--ease-out);flex-shrink:0;font-size:1.25rem;line-height:1}.v4-contact__estimate-remove:hover{color:var(--c-bg)}.v4-contact__submit{justify-items:start;gap:1.25rem;margin-top:.5rem;display:grid}.v4-contact__submit .v4-cta:disabled{opacity:.6;cursor:progress}.v4-contact__privacy{color:#ffffff73;max-width:52ch;font-size:.8125rem}.v4-contact__privacy a,.v4-contact__sent-text a{color:var(--c-bg);text-decoration:underline;-webkit-text-decoration-color:var(--c-accent);text-decoration-color:var(--c-accent);text-underline-offset:.2em}.v4-contact__sent{border-top:1px solid var(--c-accent);justify-items:start;gap:1.25rem;padding-block:2rem;display:grid}.v4-contact__sent-title{letter-spacing:-.045em;font-size:clamp(1.75rem,2vw + 1rem,2.75rem);font-weight:600;line-height:1.05}.v4-contact__sent-text{max-width:44ch;color:var(--c-dim)}.v4-contact__again{color:var(--c-dim);font-size:var(--fs-small);text-underline-offset:.2em;text-decoration:underline}.v4-contact__info{align-content:start;gap:2rem;display:grid}.v4-contact__block{border-top:1px solid #ffffff24;justify-items:start;gap:.35rem;padding-top:1.25rem;display:grid}.v4-contact__label{color:var(--c-dim);font-size:var(--fs-label);letter-spacing:.04em;margin-bottom:.35rem;font-weight:400;line-height:1.5}.v4-contact__big{letter-spacing:-.035em;background:linear-gradient(var(--c-accent), var(--c-accent)) left bottom / 0% 2px no-repeat;transition:background-size .4s var(--ease-out);font-size:clamp(1.375rem,1vw + 1rem,1.875rem);font-weight:500;line-height:1.2}.v4-contact__big:hover,.v4-contact__big:focus-visible{background-size:100% 2px}.v4-contact__info address{font-style:normal}.v4-contact__muted{color:var(--c-dim);font-size:var(--fs-small)}.v4-contact__route{background:linear-gradient(var(--c-accent), var(--c-accent)) left bottom / 100% 2px no-repeat;margin-top:.75rem;font-weight:500;display:inline-block}@media (prefers-reduced-motion:reduce){.v4-contact__field input,.v4-contact__field textarea,.v4-contact__big{transition:none}}.v4-contact__field input:-webkit-autofill{-webkit-text-fill-color:var(--c-bg);box-shadow:0 0 0 100px var(--c-ink) inset;caret-color:var(--c-bg)}
