html:has(.contact-page) body{min-height:100dvh;display:flex;flex-direction:column}html:has(.contact-page) .site-nav{flex:0 0 auto;height:0;min-height:0;overflow:visible}.contact-page{flex:1 0 auto}.contact-page .contact-page__hero{align-items:start;padding-block:var(--space-md) var(--space-lg)}.contact-page .hub__back{margin-bottom:var(--space-sm)}.contact-page .hub__title{font-size:var(--text-3xl);margin-bottom:.35rem}.contact-page .hub__tagline{margin-bottom:0;font-size:var(--text-base)}@media(min-width:768px){.contact-page .hub__hero--editorial{grid-template-columns:minmax(0,1.2fr) minmax(16rem,22rem);align-items:start;gap:var(--space-lg) var(--space-2xl);padding-bottom:var(--space-lg)}.contact-page .hub__hero-aside.contact-aside{border-left:none;padding-left:0;align-self:start;padding-top:3.25rem}}.contact-page__main{min-width:0}.contact-form{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md);max-width:32rem}.contact-form__row{display:grid;gap:var(--space-sm)}@media(min-width:560px){.contact-form__row{grid-template-columns:1fr 1fr}}.contact-form__banner{margin:0;padding:.55em .85em;border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-snug)}.contact-form__banner--success{background:color-mix(in srgb,var(--palette-tropical-teal) 18%,white);color:var(--palette-indigo-ink);border:1px solid color-mix(in srgb,var(--palette-tropical-teal) 45%,transparent)}.contact-form__banner--error{background:color-mix(in srgb,var(--color-danger) 12%,white);color:var(--color-danger-text);border:1px solid color-mix(in srgb,var(--color-danger) 35%,transparent)}.contact-form__field{display:flex;flex-direction:column;gap:.3em}.contact-form__field label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--palette-indigo-ink)}.contact-form__field input,.contact-form__field textarea{font-family:var(--font-body);font-size:var(--text-base);line-height:1.35;color:var(--color-text);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:.55em .75em;width:100%;box-sizing:border-box;transition:border-color var(--duration-fast) var(--ease-out)}.contact-form__field input:focus-visible,.contact-form__field textarea:focus-visible{outline:none;border-color:var(--palette-electric-indigo)}.contact-form__field input.is-invalid,.contact-form__field textarea.is-invalid{border-color:var(--color-danger)}.contact-form__field input.is-invalid:focus-visible,.contact-form__field textarea.is-invalid:focus-visible{border-color:var(--color-danger)}.contact-form__field-error{margin:0;font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--color-danger-text)}.contact-form__field textarea{resize:vertical;min-height:5.5rem}.contact-form__honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.modern .contact-form__submit{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-surface);background:var(--palette-electric-indigo);border:2px solid var(--palette-electric-indigo);border-radius:var(--radius-md);padding:.65em 1.35em;margin-top:.15rem;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.modern .contact-form__submit:hover,.modern .contact-form__submit:focus-visible{background:var(--palette-indigo-ink);border-color:var(--palette-indigo-ink);color:var(--palette-tropical-teal)}.contact-aside__list{margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.contact-aside__row{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.25rem .75rem;align-items:baseline}.contact-aside__label{margin:0;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.contact-aside__value{margin:0;min-width:0}.contact-aside__link{font-family:var(--font-body);font-size:var(--text-sm);color:var(--palette-indigo-ink);text-decoration:none;border-bottom:1px dotted currentColor;word-break:break-word;transition:color var(--duration-fast) var(--ease-out)}.contact-aside__link:hover,.contact-aside__link:focus-visible{color:var(--palette-electric-indigo);border-bottom-style:solid}
