.contact{background:var(--sh-cream);padding-top:clamp(2rem,5vw,3.5rem)}.contact__h1{text-align:center;margin-top:clamp(1.5rem,4vw,2.5rem);font-size:clamp(1.75rem,3.6vw,2.5rem)}.contact__h2{text-align:center;color:var(--sh-body);margin-top:.75rem;font-size:clamp(1.125rem,2vw,1.375rem);font-weight:400}.contact__top{gap:clamp(1.25rem,3vw,2.25rem);margin-top:clamp(2rem,5vw,3.5rem);display:grid}.contact__photo{border-radius:var(--sh-radius-surface);background:var(--sh-cream-2);overflow:hidden}.contact__photo img{aspect-ratio:4/5;object-fit:cover;width:100%;height:100%}.contact__card{background:var(--sh-cream-3);border-radius:var(--sh-radius-surface);flex-direction:column;justify-content:center;padding:clamp(1.75rem,3vw,2.5rem);display:flex}.contact__card-title{text-align:center;margin-bottom:1.5rem;font-size:clamp(1.1875rem,2vw,1.375rem);font-weight:400}.contact__list{flex-direction:column;gap:1.125rem;margin:0;display:flex}.contact__row dt{font-family:var(--sh-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sh-accent);align-items:center;gap:.5rem;font-size:.625rem;display:flex}.contact__icon{color:var(--sh-accent);flex-shrink:0}.contact__row dd{color:var(--sh-ink);margin:.1875rem 0 0 1.75rem;font-size:1rem}.contact__row dd a{color:var(--sh-ink);text-underline-offset:3px;text-decoration:underline 1px;text-decoration-color:var(--sh-line)}.contact__row dd a:hover{color:var(--sh-accent);text-decoration-color:currentColor}@media (width>=40rem){.contact__top{grid-template-columns:1fr 1fr}.contact__card{grid-column:1/-1}}@media (width>=56rem){.contact__top{grid-template-columns:1fr 1fr 1.35fr}.contact__card{grid-column:auto}}.contact__bottom{align-items:start;gap:clamp(1.5rem,4vw,3rem);margin-top:clamp(2.5rem,6vw,4.5rem);display:grid}@media (width>=62rem){.contact__bottom{grid-template-columns:1.25fr 1fr;align-items:stretch}}.map{background:var(--sh-cream-2);border-radius:var(--sh-radius-surface);min-height:22rem;overflow:hidden}.map__frame{border:0;width:100%;height:100%;min-height:22rem;display:block}.cf{background:var(--sh-white);border-radius:var(--sh-radius-surface);box-shadow:var(--sh-shadow-card);padding:clamp(1.5rem,3.5vw,2.75rem)}.cf--done{text-align:center;place-content:center;min-height:16rem;display:grid}.cf__title{font-size:clamp(1.1875rem,2vw,1.375rem);font-weight:400}.cf__intro{margin-top:.5rem;font-size:.9375rem}.cf__grid{gap:1.125rem;margin-top:1.75rem;display:grid}.cf__field{flex-direction:column;gap:.375rem;margin:0;display:flex}.cf__grid+.cf__field{margin-top:1.125rem}.cf__label{color:var(--sh-ink);font-size:.875rem;font-weight:500}.cf__req{color:var(--sh-body);font-weight:400}.cf__control{width:100%;color:var(--sh-ink);background:var(--sh-cream);border:1px solid var(--sh-line-soft);border-radius:var(--sh-radius-sm);padding:.6875rem .875rem;font-family:inherit;font-size:1rem}.cf__control::placeholder{color:var(--sh-body);opacity:.75}.cf__control:focus-visible{border-color:var(--sh-accent)}.cf__control[aria-invalid=true]{border-color:var(--sh-error)}.cf__textarea{resize:vertical;min-height:9rem;line-height:1.6}.cf__consent{align-items:flex-start;gap:.625rem;margin-top:1.5rem;font-size:.875rem;line-height:1.5;display:flex}.cf__consent input{accent-color:var(--sh-accent);flex-shrink:0;width:1.0625rem;height:1.0625rem;margin-top:.2rem}.cf__consent a{color:var(--sh-accent);text-underline-offset:3px;text-decoration:underline}.cf__error{color:var(--sh-error);font-size:.8125rem}.cf__error--form{margin-top:1rem;display:block}.cf__error--form a{color:inherit;text-decoration:underline}.cf__submit{margin-top:1.5rem}.cf__disclaimer{color:var(--sh-body);margin-top:1.25rem;font-size:.75rem;line-height:1.55}.cf__success{color:var(--sh-success);font-size:1.0625rem}@media (width>=40rem){.cf__grid{grid-template-columns:1fr 1fr}}
