.contact-page{background:var(--background-dark)}.contact-title{color:#f5f5f4;font-family:var(--font-body);letter-spacing:-.035em;font-size:clamp(2.5rem,4.5vw,3.5rem);font-weight:700;line-height:1.08}.contact-title strong{font-family:var(--font-body);font-weight:700}.hero-section .contact-title{text-indent:-.035em}.contact-intro{max-width:42rem}.contact-page p{color:var(--metal-mid);font-size:1.0625rem;line-height:1.7}.contact-layout{gap:var(--space-content);display:grid}.contact-conversation{max-width:26rem}.contact-conversation .home-eyebrow{font-size:.7rem;line-height:1.5}.contact-conversation .contact-title{margin-top:var(--space-paragraph)}.contact-conversation .contact-location{margin-top:var(--space-action);font-size:.875rem}.contact-location span{padding-inline:.25rem}.contact-form-column{min-width:0}.contact-socials{align-content:start;gap:.5rem;display:grid}.contact-social{color:#f5f5f4;align-items:center;gap:.75rem;min-height:3rem;padding-block:.75rem;font-size:.875rem;transition:color .2s;display:flex}.contact-social>svg{flex:none}.contact-social>svg:last-child{margin-left:auto}.contact-social-detail{color:var(--metal-mid);margin-top:.25rem;font-size:.8rem;display:block}.contact-social:hover{color:var(--color-accent-light)}.contact-form{gap:1.5rem;display:grid}.contact-fields{gap:1.5rem;min-width:0;display:grid}.contact-field-row{gap:1.5rem;display:grid}.contact-field-label{margin-bottom:var(--space-detail);color:var(--metal-mid);font-size:.875rem;font-weight:600;line-height:1.5;display:block}.contact-field{background:var(--background-section-1);color:#f5f5f4;border:1px solid #ffffff40;border-radius:2px;width:100%;min-height:3.5rem;padding:.9375rem 1rem;font-size:1rem;line-height:1.5;transition:border-color .2s;display:block}.contact-field:hover{border-color:#ffffff80}.contact-field:focus{border-color:var(--color-accent-light)}.contact-social:focus-visible,.contact-field:focus-visible{outline:2px solid var(--color-accent-light);outline-offset:4px}.contact-service-choice:has(input:focus-visible){outline:2px solid var(--color-accent-light);outline-offset:4px}.contact-service-group{min-width:0}.contact-service-choices{gap:.75rem;display:grid}.contact-service-choice{background:var(--background-section-1);min-height:3.5rem;color:var(--metal-mid);cursor:pointer;border:1px solid #ffffff40;border-radius:2px;align-items:center;gap:.75rem;padding:1rem;font-size:.875rem;font-weight:600;line-height:1.5;transition:border-color .2s,background-color .2s,color .2s;display:flex}.contact-service-choice:hover{color:#f5f5f4;border-color:#ffffff80}.contact-service-choice:has(input:checked){border-color:var(--color-accent-light);background:rgb(var(--accent-blue-rgb),.1);color:#f5f5f4}.contact-service-choice input{appearance:none;border:1px solid var(--metal-mid);cursor:pointer;border-radius:50%;flex:none;width:1rem;height:1rem}.contact-service-choice input:checked{border-color:var(--color-accent-light);background:var(--color-accent-light);box-shadow:inset 0 0 0 3px var(--background-dark)}.contact-service-choice input:focus{outline:none}.contact-message{resize:vertical;min-height:10rem}.contact-page .contact-form-note{font-size:.875rem;line-height:1.6}.contact-message-hint{margin-bottom:.75rem}.contact-form-actions{justify-items:start;gap:1rem;margin-top:.5rem;display:grid}.contact-submit{margin-top:0}.contact-submit:disabled{cursor:not-allowed;opacity:.5;color:var(--metal-mid);transform:none}.contact-submit:disabled:before{transform:scaleX(0)}.contact-fields:disabled{opacity:.65}.contact-fields:disabled .contact-service-choice,.contact-fields:disabled input{cursor:wait}.contact-error{color:#fca5a5;background:#f8717114;border:1px solid #f87171;padding:1rem;font-size:.9375rem;line-height:1.6}.contact-success{padding-block:1rem}.contact-success-icon{margin-bottom:var(--space-heading-copy);color:var(--color-accent-light)}.contact-success:focus{outline:none}@media (min-width:640px){.contact-field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-service-choices{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.contact-layout{column-gap:var(--space-layout);row-gap:var(--space-content);grid-template-rows:min-content 1fr;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr)}.contact-conversation{grid-area:1/1}.contact-form-column{grid-area:1/2/span 2}.contact-socials{grid-area:2/1}}@media (max-width:639px){.contact-submit{width:100%}}@media (prefers-reduced-motion:reduce){.contact-social,.contact-field,.contact-service-choice{transition:none}}
