.contact-page{background:var(--c-paper);color:var(--c-ink)}.contact-hero{position:relative;padding-top:clamp(13rem,24vh,17rem);padding-bottom:clamp(2rem,5vh,4rem);border-bottom:1px solid var(--line-light)}.contact-hero-grid{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.6fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:end}.contact-side-label{color:var(--c-ink-mute);margin-bottom:.5rem}.contact-hotline{font-size:clamp(1.1rem,1.6vw,1.45rem);font-weight:600}.contact-hotline:hover{color:var(--c-orange)}.contact-title{font-size:clamp(3rem,9vw,8rem);margin-bottom:clamp(1rem,2.5vh,2rem)}.contact-title>span{display:block}.contact-lede{max-width:46ch;color:var(--c-ink-mute)}.contact-map{width:100%;aspect-ratio:16 / 9;align-self:center}.contact-body{padding-block:clamp(2.5rem,7vh,5rem) var(--sec-y)}.contact-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.9fr) minmax(0,.8fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}.contact-aside,.contact-locations{display:grid;gap:clamp(1.5rem,3vw,2.25rem);align-content:start}.contact-photo{aspect-ratio:4 / 3;overflow:hidden;background:var(--c-paper-2)}.contact-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform 1.1s var(--ease),filter .6s}.contact-photo:hover img{transform:scale(1.05);filter:grayscale(0)}.contact-block h2,.contact-block h3{color:var(--c-ink-mute);margin-bottom:.5rem}.contact-block p,.contact-block a{font-size:clamp(.95rem,1.2vw,1.08rem);font-weight:500;line-height:1.5;overflow-wrap:anywhere}.contact-block a:hover{color:var(--c-orange)}.contact-block address{font-style:normal}.contact-form-head{margin-bottom:clamp(1.5rem,4vh,2.5rem)}.contact-form-head p{margin-top:.9rem;max-width:54ch;color:var(--c-ink-mute);font-size:.95rem;line-height:1.6}.contact-form{display:grid;gap:clamp(1.75rem,4vh,2.75rem)}.reasons{border:0;margin:0;padding:0}.reasons legend{padding:0;margin-bottom:1rem;font-weight:600;font-size:clamp(1rem,1.3vw,1.15rem)}.reason-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem clamp(1rem,3vw,2.5rem)}.reason{display:flex;align-items:center;gap:.7rem;font-size:.95rem;cursor:pointer}.reason input{appearance:none;width:1.1rem;height:1.1rem;flex:none;margin:0;border:1px solid var(--c-ink-faint);border-radius:50%;transition:border-color .3s,box-shadow .3s}.reason input:checked{border-color:var(--c-orange);box-shadow:inset 0 0 0 4px var(--c-orange)}.reason:hover input{border-color:var(--c-ink-mute)}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vh,2rem) clamp(1.25rem,3vw,2.5rem);padding-top:clamp(1.25rem,3vh,2rem);border-top:1px solid var(--line-light)}.field{display:grid;gap:.4rem}.field--wide{grid-column:1 / -1}.field label{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-ink-mute)}.field input,.field textarea{width:100%;font:inherit;font-size:1rem;color:var(--c-ink);background:none;border:0;border-bottom:1px solid var(--line-light);border-radius:0;padding:.55rem 0 .7rem;transition:border-color .3s}.field textarea{resize:vertical;min-height:6rem}.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--c-orange)}.field input::placeholder,.field textarea::placeholder{color:var(--c-ink-faint)}.field.is-invalid input,.field.is-invalid textarea{border-bottom-color:var(--c-orange)}.field-error{font-family:var(--f-mono);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;color:var(--c-orange);min-height:1em}.form-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}.form-note{color:var(--c-ink-faint);max-width:40ch}.form-status{flex:1 1 100%;color:var(--c-ink-mute);font-size:.9rem;min-height:1.2em}.form-status.is-error{color:var(--c-orange)}@media (max-width: 1100px){.contact-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-map{grid-column:1 / -1;order:-1;aspect-ratio:21 / 9}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}.contact-locations{grid-column:1 / -1;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));border-top:1px solid var(--line-light);padding-top:1.5rem}}@media (max-width: 767px){.contact-hero{padding-top:clamp(6.5rem,16vh,9rem)}.contact-hero-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}.contact-aside{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.contact-photo{grid-column:1 / -1;aspect-ratio:16 / 7}.reason-grid,.fields{grid-template-columns:minmax(0,1fr)}}
