/* Contact page */
.contact{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.contact-form{padding:clamp(1.5rem,3vw,2.25rem);border-radius:var(--r-card);background:var(--surface);border:1px solid var(--line)}
.contact-intro{margin:.5rem 0 1.5rem;font-size:.95rem}
.contact-intro a{color:var(--link)}
.form{display:grid;gap:1.1rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.field{display:grid;gap:.4rem}
.field label{font-weight:620;font-size:.93rem}
.req{color:var(--purple)}
.input-f{width:100%;min-height:48px;padding:.75rem .9rem;border-radius:var(--r-btn);border:1px solid var(--line-strong);background:var(--bg);color:var(--text);font:inherit;transition:border-color 160ms ease,box-shadow 160ms ease}
textarea.input-f{resize:vertical;min-height:150px;line-height:1.5}
.input-f:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 25%,transparent)}
.input-f[aria-invalid="true"]{border-color:#b42318}
.select-wrap{position:relative}
.select-wrap select{appearance:none;-webkit-appearance:none;padding-right:2.5rem;cursor:pointer}
.select-i{position:absolute;right:.9rem;top:50%;width:18px;height:18px;margin-top:-9px;color:var(--muted);pointer-events:none}
.field-hint{font-size:.85rem;color:var(--muted);display:flex;align-items:center;gap:.4rem}
.field-error{font-size:.88rem;color:#b42318}
:root[data-theme="dark"] .field-error{color:#f87171}
:root[data-theme="dark"] .input-f[aria-invalid="true"]{border-color:#f87171}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .field-error{color:#f87171}:root:not([data-theme="light"]) .input-f[aria-invalid="true"]{border-color:#f87171}}
.form-success{display:flex;align-items:center;gap:.6rem;padding:.9rem 1rem;border-radius:var(--r-btn);background:var(--done-soft);color:var(--done);font-weight:620}
.form-success[hidden]{display:none}
.form-success .i{width:20px;height:20px}
.form-submit{width:100%}
.form-privacy{justify-content:center}
@media (max-width:560px){.form-row{grid-template-columns:1fr}}

.contact-side{display:grid;gap:16px}
.side-card{padding:1.4rem;border-radius:var(--r-surface);background:var(--surface);border:1px solid var(--line)}
.side-card h3{font-size:1.1rem;margin-bottom:.8rem}
.who-row{display:flex;gap:.9rem;align-items:center;margin-bottom:.9rem}
.who-row img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 15%;background:var(--accent-soft)}
.who-row b{display:block;font-size:1.05rem}
.who-row span{font-size:.88rem;color:var(--muted)}
.side-loc{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.93rem;margin-bottom:.5rem}
.side-card .muted{font-size:.93rem}
.side-links{list-style:none;display:grid}
.side-links a{display:grid;grid-template-columns:24px 1fr;gap:.8rem;align-items:center;padding:.7rem 0;border-top:1px solid var(--line);text-decoration:none;color:var(--text)}
.side-links li:first-child a{border-top:0;padding-top:0}
.side-links .i{width:22px;height:22px;color:var(--muted)}
.side-links b{display:block;font-weight:650}
.side-links span{font-size:.88rem;color:var(--muted)}
@media (hover:hover) and (pointer:fine){.side-links a:hover b{color:var(--link)}}
.side-ic{background:var(--accent-soft);border-color:color-mix(in srgb,var(--purple) 35%,transparent)}
.side-ic p{font-size:.93rem;color:var(--muted);margin-bottom:.8rem}
@media (max-width:900px){.contact{grid-template-columns:1fr}}
