.contact{padding-block:var(--s-8) var(--s-6);padding-inline:clamp(var(--s-4),6vw,var(--s-10));max-inline-size:72rem;margin-inline:auto}.contact__head{max-inline-size:46ch;margin-block-end:var(--s-7)}.contact__eyebrow{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:0.08em;text-transform:uppercase;color:var(--text-faint)}.contact__head h1{font-size:var(--step-4);margin-block-start:var(--s-2)}.contact__head p{margin-block-start:var(--s-4);color:var(--text-muted)}.contact__grid{display:grid;grid-template-columns:1fr;gap:var(--s-8)}@media (min-width:820px){.contact__grid{grid-template-columns:1.2fr 1fr;gap:var(--s-9);align-items:start}}.quote-form{display:grid;gap:var(--s-4)}.quote-form__field{display:grid;gap:var(--s-2)}.quote-form label{font-size:var(--step--1);letter-spacing:0.02em;color:var(--text-muted)}.quote-form input:not(.quote-form__hp),.quote-form select,.quote-form textarea{inline-size:100%;padding:var(--s-3) var(--s-4);min-block-size:48px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-2);color:var(--text);font-family:var(--font-sans);font-size:var(--step-0)}.quote-form textarea{min-block-size:7rem;resize:vertical}.quote-form input::placeholder,.quote-form textarea::placeholder{color:var(--text-faint)}.quote-form :is(input,select,textarea):focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.quote-form :is(input,select,textarea){transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-tactile),transform var(--dur-fast) var(--ease-out)}.quote-form :is(input,textarea,select):user-valid{border-color:color-mix(in oklch,var(--accent) 45%,var(--hairline))}.quote-form :is(input,textarea,select):user-invalid{border-color:var(--danger)}@media (prefers-reduced-motion:no-preference){.quote-form :is(input,textarea,select):user-invalid{animation:form-shake 180ms var(--ease-out)}@keyframes form-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}}.quote-form .btn{justify-self:start}.quote-form__status{color:var(--text-muted);font-size:var(--step--1);min-block-size:1.2em}.quote-form__status--ok{color:var(--accent)}.quote-form__status--error{color:var(--danger)}.quote-form__crosssell{display:block;inline-size:fit-content;margin-block-start:var(--s-4);font-size:var(--step--1);color:var(--accent);text-decoration:underline;text-underline-offset:2px}.quote-form__crosssell[hidden]{display:none}.quote-form__crosssell:hover{color:var(--accent-hover)}.quote-form__note{color:var(--text-muted);font-size:var(--step--1);line-height:var(--leading-body)}.quote-form__note a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.quote-form__note a:hover{color:var(--accent-hover)}.quote-form__hint{color:var(--text-faint)}.quote-form__text-photo{color:var(--text-faint);font-size:var(--step--1)}.quote-form__hp{position:absolute!important;inline-size:1px;block-size:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}.contact__info{display:grid;gap:var(--s-6);align-content:start}.contact__fastpath{display:grid;gap:var(--s-6);align-content:start}.contact__card{padding:var(--s-5);background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-2)}.contact__key{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:0.08em;text-transform:uppercase;color:var(--text-faint);margin-block-end:var(--s-2)}.contact__nap{font-style:normal;display:grid;gap:var(--s-1);color:var(--text)}.contact__line{color:var(--accent);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.contact__line:hover{color:var(--accent-hover)}.contact__hours p{color:var(--text-muted)}.contact__hours .tnum{font-variant-numeric:tabular-nums}.contact__maplink{display:inline-block;margin-block-start:var(--s-2);color:var(--accent);text-decoration:underline;text-underline-offset:2px;font-size:var(--step--1)}.contact__square{margin-block-start:var(--s-2)}