.contact-head{background:var(--paper);border-bottom:1px solid var(--line);padding-block:clamp(2.5rem,1.8rem + 5vw,4rem)}.contact-head__title{margin:0;max-width:22ch}.contact-head__lead{margin-top:.9rem;max-width:60ch;font-size:var(--step-1);color:var(--ink-soft)}.contact{padding-top:clamp(2rem,1.5rem + 3vw,3rem)}.contact-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}.contact-grid .contact-info{order:-1}@media(min-width:900px){.contact-grid{grid-template-columns:1.25fr .75fr;gap:2.25rem}.contact-grid .contact-info{order:0}}.contact-form-wrap{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.4rem,1rem + 2vw,2.25rem)}.contact-form__title,.contact-info__title{font-size:var(--step-2);margin-bottom:1.4rem}.contact-form{display:flex;flex-direction:column;gap:1.1rem}.contact-form__row{display:grid;grid-template-columns:1fr;gap:1.1rem}@media(min-width:560px){.contact-form__row{grid-template-columns:1fr 1fr}}.contact-field{display:flex;flex-direction:column;gap:.4rem}.contact-field label{font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--ink)}.contact-field label span{color:var(--brand)}.contact-input,.contact-textarea{width:100%;font-family:var(--font-body);font-size:var(--step-0);color:var(--ink);background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.7rem .9rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}.contact-textarea{resize:vertical;min-height:150px}.contact-input::placeholder,.contact-textarea::placeholder{color:var(--muted)}.contact-input:focus,.contact-textarea:focus{outline:none;background:var(--paper);border-color:var(--brand);box-shadow:0 0 0 3px #8f161426}.contact-form__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:.4rem}.contact-required{font-size:var(--step--1);color:var(--muted)}.contact-required span{color:var(--brand)}.contact-submit[disabled]{opacity:.7;cursor:progress;transform:none}.contact-feedback{border-radius:var(--radius-sm)}.contact-feedback--error{display:flex;align-items:flex-start;gap:.5rem;padding:.85rem 1rem;background:#8f161414;border:1px solid rgba(143,22,20,.25);color:var(--brand-dark);font-size:.95rem}.contact-feedback--error svg{flex:none;margin-top:2px}.contact-feedback--success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8rem;padding:1.5rem 1rem}.contact-feedback--success svg{color:var(--brand)}.contact-feedback--success h2{font-size:var(--step-2)}.contact-feedback--success p{color:var(--muted);max-width:40ch}.contact-feedback--success .btn-ghost{margin-top:.4rem}.contact-spin{animation:contact-spin .9s linear infinite}@keyframes contact-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.contact-spin{animation:none}.contact-input,.contact-textarea,.contact-social__links a{transition:none}}.contact-info{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.4rem,1rem + 2vw,2.25rem)}.contact-info__list{list-style:none;padding:0;display:flex;flex-direction:column;gap:1.25rem}.contact-info__item{display:flex;align-items:flex-start;gap:.9rem}.contact-info__icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--brand)}.contact-info__label{display:block;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700;color:var(--muted);margin-bottom:.2rem}.contact-info__value{display:block;font-style:normal;color:var(--ink-soft);line-height:1.5}a.contact-info__value{color:var(--brand);font-weight:600}a.contact-info__value:hover{color:var(--brand-dark)}.contact-social{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--line)}.contact-social__links{display:flex;gap:.7rem;margin-top:.5rem}.contact-social__links a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);color:var(--ink);transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}.contact-social__links a:hover{background:var(--brand);border-color:var(--brand);color:#fff}.contact-map-section{padding-block:clamp(2rem,1.5rem + 3vw,3.5rem)}.contact-map{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;line-height:0}.contact-map iframe{display:block;width:100%;border:0}.contact-map-section{background:var(--surface-grey);padding-block:clamp(2.5rem,2rem + 2.5vw,4rem)}.contact-map__title{margin:0 0 2rem}
