/* /contact: the contact and newsletter forms. Page frame and type come from legal.css; consent banner from consent.css. */
.contact-main{max-width:640px}
.contact-main h1{margin-bottom:16px}
.contact-main .contact-lede{color:var(--muted);margin-bottom:40px;max-width:520px}
.contact-form{display:flex;flex-direction:column;gap:22px}
.contact-form .field{display:flex;flex-direction:column;gap:8px}
.contact-form label{font:400 11px/1.3 Firs,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.contact-form .field-required{color:var(--blue);margin-left:2px}
.contact-form .field-optional{letter-spacing:.08em;text-transform:none}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"],.contact-form select,.contact-form textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--black);font:400 15px/1.4 Firs,Arial,sans-serif;outline:none;transition:border-color .15s}
.contact-form input:hover,.contact-form select:hover,.contact-form textarea:hover{border-color:#8a8a8a}
.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{border-color:var(--black);outline:2px solid var(--blue);outline-offset:2px}
.contact-form .error{border-color:#d4351c!important}
.contact-form textarea{min-height:140px;resize:vertical;line-height:1.5}
.contact-form select{appearance:none;-webkit-appearance:none;padding-right:36px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23161514' stroke-width='1.2' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center}
.contact-form .honey{position:absolute;left:-9999px;width:0;height:0;opacity:0;pointer-events:none}
.contact-form .form-consent{display:flex;align-items:flex-start;gap:10px;font:400 13.5px/1.5 Firs,Arial,sans-serif;letter-spacing:0;text-transform:none;color:var(--muted);cursor:pointer}
.contact-form .form-consent input{flex-shrink:0;width:18px;height:18px;margin-top:1px;accent-color:var(--black);cursor:pointer}
.contact-form .form-consent.error{color:#d4351c}
.contact-form .form-consent.error input{outline:2px solid #d4351c;outline-offset:1px}
.contact-main a{color:var(--blue)}
.submit-btn{align-self:flex-start;min-width:169px;height:52px;padding:9px 22px;border:0;border-radius:100px;background:#161514;color:#fff;font:500 13px/1.303 Switzer,Arial,sans-serif;cursor:pointer;transition:border-radius .42s var(--ease,ease)}
.submit-btn:hover,.submit-btn:focus-visible{border-radius:0}
.submit-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.submit-btn:disabled{opacity:.5;cursor:not-allowed}
.contact-main .form-note{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.link-button{padding:0;border:0;background:none;color:var(--blue);font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.contact-main .form-error-msg{display:none;margin:0;font-size:13px;color:#d4351c}
.form-error-msg.visible{display:block}
.form-success{display:none;padding:24px;border:1px solid var(--line);font-size:15px;line-height:1.6}
.form-success.visible{display:block}
.form-success strong{display:block;margin-bottom:4px;font-weight:500}
/* Google's floating badge may be hidden only because the page names reCAPTCHA next to the form. */
.grecaptcha-badge{visibility:hidden}
.newsletter{margin-top:72px;padding-top:40px;border-top:1px solid var(--line)}
.newsletter h2{margin-top:0}
.contact-main .newsletter-lede{color:var(--muted);margin-bottom:24px}
.newsletter-form{display:flex;flex-direction:column;gap:16px}
.newsletter-row{display:flex;gap:12px}
.newsletter-form input[type="email"]{flex:1;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--black);font:400 15px/1.4 Firs,Arial,sans-serif;outline:none;transition:border-color .15s}
.newsletter-form input[type="email"]:hover{border-color:#8a8a8a}
.newsletter-form input[type="email"]:focus-visible{border-color:var(--black);outline:2px solid var(--blue);outline-offset:2px}
.newsletter-form .error{border-color:#d4351c!important}
.newsletter-form .honey{position:absolute;left:-9999px;width:0;height:0;opacity:0;pointer-events:none}
.newsletter-form .submit-btn{flex-shrink:0;min-width:140px}
.newsletter-form .form-consent{display:flex;align-items:flex-start;gap:10px;font:400 13.5px/1.5 Firs,Arial,sans-serif;color:var(--muted);cursor:pointer}
.newsletter-form .form-consent input{flex-shrink:0;width:18px;height:18px;margin-top:1px;accent-color:var(--black);cursor:pointer}
.newsletter-form .form-consent.error{color:#d4351c}
.newsletter-form .form-consent.error input{outline:2px solid #d4351c;outline-offset:1px}
@media (max-width:520px){.newsletter-row{flex-direction:column}.newsletter-form .submit-btn{align-self:flex-start}}
