.contact{--err:#b3261e}.contact .contact-grid{gap:3rem var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.contact .inquiry{scroll-margin-top:calc(var(--header-h) + 2rem);grid-column:1/span 7}.contact .contact-aside{grid-column:9/span 4}.contact .form-title{margin-bottom:2rem}.contact .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem;display:grid}.contact .fld{margin:0 0 1.75rem}.contact .lbl,.contact .legend{font:600 .9375rem/1.4 var(--body);color:var(--ink);margin:0 0 .5rem;padding:0;display:block}.contact .opt{color:var(--ink-3);font-weight:400}.contact .hint{color:var(--ink-3);margin-top:.4rem;font-size:.875rem}.contact input[type=text],.contact input[type=email],.contact input[type=month],.contact select,.contact textarea{width:100%;height:48px;font:400 1rem/1.4 var(--body);color:var(--ink);background-color:var(--white);border:1px solid var(--rule);box-shadow:none;appearance:none;border-radius:0;padding:0 .9rem;display:block}.contact select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%233e4249' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right .95rem center;background-repeat:no-repeat;padding-right:2.5rem}.contact textarea{resize:vertical;height:auto;min-height:11rem;padding:.8rem .9rem;line-height:1.55}.contact ::placeholder{color:#8a8f98;opacity:1}.contact input:hover,.contact select:hover,.contact textarea:hover{border-color:#aeb3bc}.contact input[type=text]:focus,.contact input[type=email]:focus,.contact input[type=month]:focus,.contact select:focus,.contact textarea:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}.contact fieldset{border:0;min-width:0;margin:0 0 1.75rem;padding:0}.contact .choices{border-top:1px solid var(--rule);border-left:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact .choice{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--white);cursor:pointer;align-items:center;gap:.8rem;min-height:48px;padding:.55rem 1rem;font-size:1rem;line-height:1.35;display:flex;position:relative}.contact .choice:before{content:"";background:0 0;width:3px;position:absolute;top:-1px;bottom:-1px;left:-1px}.contact .choice:hover{background:var(--porcelain)}.contact .choice:has(input:checked){background:var(--porcelain);font-weight:600}.contact .choice:has(input:checked):before{background:var(--blue)}.contact .choice input{background:var(--white);appearance:none;cursor:pointer;border:1px solid #8a8f98;border-radius:0;flex:none;place-content:center;width:18px;height:18px;margin:0;display:grid}.contact .choice input:before{content:"";background:var(--blue);width:10px;height:10px;transition:transform .1s;transform:scale(0)}.contact .choice input:checked{border-color:var(--blue)}.contact .choice input:checked:before{transform:scale(1)}.contact .choice input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.contact .extra{background:var(--porcelain);border:1px solid var(--rule);margin:0 0 1.75rem;padding:1.5rem 1.5rem .25rem}.contact .extra .legend{float:left;width:100%;margin-bottom:1.25rem;font-size:1rem}.contact .extra .legend+*{clear:both}.contact .ack{color:var(--ink-2);cursor:pointer;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:.8rem;font-size:1rem;line-height:1.5;display:grid}.contact .ack input{background:var(--white);appearance:none;cursor:pointer;border:1px solid #8a8f98;border-radius:0;place-content:center;width:18px;height:18px;margin:.17rem 0 0;display:grid}.contact .ack input:before{content:"";background:var(--white);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);width:12px;height:12px;transition:transform .1s;transform:scale(0)}.contact .ack input:checked{border-color:var(--blue);background:var(--blue)}.contact .ack input:checked:before{transform:scale(1)}.contact .ack input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.contact .err{color:var(--err);margin-top:.4rem;font-size:.875rem;font-weight:600;line-height:1.45}.contact fieldset>.err{margin-top:.6rem}.contact input[aria-invalid=true],.contact select[aria-invalid=true],.contact textarea[aria-invalid=true],.contact .ack input[aria-invalid=true]:not(:checked){border-color:var(--err)}.contact .form-status:focus{outline:none}.contact .form-status p{border-left:3px solid var(--err);background:var(--porcelain);color:var(--ink);margin:0 0 1.5rem;padding:.9rem 1.1rem;font-size:1rem;line-height:1.5}.contact .hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact .form-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;padding-top:.5rem;display:flex}.contact .form-actions .btn{justify-content:center;min-width:12rem}.contact .form-actions .btn[disabled]{opacity:.7;cursor:progress}.contact .reply-note{color:var(--ink-3);font-size:.9375rem}.contact .sent{border-top:3px solid var(--blue);padding-top:1.5rem}.contact .sent .form-title{margin-bottom:1rem}.contact .sent-text{color:var(--ink);max-width:32em;font-size:1.25rem;line-height:1.5}.contact .sent .reply-note{margin-top:.75rem}.contact .sent .form-actions{margin-top:1.5rem}.contact .contact-aside{border-top:3px solid var(--ink);padding-top:1.5rem}.contact .contact-aside .h3{margin-bottom:1rem}.contact .contact-aside .h3+*{margin-top:0}.contact .reach{border-top:1px solid var(--rule);grid-template-columns:6.5em 1fr;margin:0 0 3rem;font-size:1rem;display:grid}.contact .reach dt,.contact .reach dd{border-bottom:1px solid var(--rule);margin:0;padding:.8rem 0}.contact .reach dt{color:var(--ink-3)}.contact .next{counter-reset:next;margin:0;padding:0;list-style:none}.contact .next li{counter-increment:next;border-top:1px solid var(--rule);grid-template-columns:2.25rem 1fr;gap:0 .75rem;padding:1.1rem 0;display:grid}.contact .next li:last-child{border-bottom:1px solid var(--rule)}.contact .next li:before{content:counter(next);font-family:var(--display);color:var(--blue);grid-row:1/span 2;font-size:1.875rem;line-height:1}.contact .next strong{margin-bottom:.25rem;font-size:1.0625rem;display:block}.contact .next span{color:var(--ink-2);font-size:.9375rem;line-height:1.5}@media (max-width:1100px){.contact .inquiry,.contact .contact-aside{grid-column:1/-1}.contact .contact-aside{max-width:40rem}}@media (max-width:680px){.contact .form-row,.contact .choices{grid-template-columns:1fr}}
