.contact-page,.contact-success{--contact-error:#b42318;--contact-error-soft:#fef3f2;--contact-valid:color-mix(in srgb, var(--color-green-dark) 84%, var(--color-ink));color:var(--color-ink);background:var(--color-page)}.contact-hero--success.subpage-hero{min-height:clamp(32rem,55vw,44rem)}.contact-page__content,.contact-success__content{padding-bottom:var(--section-spacing);background:var(--color-page)}.contact-page__stack{gap:clamp(var(--space-m), 2.5vw, var(--space-xl));display:grid}.contact-form-card,.contact-next,.contact-location,.contact-success__card{border:1px solid color-mix(in srgb, var(--color-purple) 14%, var(--color-border));border-radius:var(--radius-l);background:linear-gradient(135deg, color-mix(in srgb, var(--color-purple-soft) 20%, var(--color-surface)), var(--color-surface) 72%);width:100%;box-shadow:0 1.1rem 3rem color-mix(in srgb, var(--color-ink) 4%, transparent)}.contact-form-card,.contact-next,.contact-location{padding:clamp(var(--space-l), 5vw, var(--space-2xl))}#contact-form{scroll-margin-block:0}.contact-section-heading{text-align:center;width:min(100%,48rem);margin-inline:auto}.contact-section-heading--left{text-align:left;width:100%;margin-inline:0}.contact-section-heading__eyebrow{margin-bottom:var(--space-xs);color:var(--color-purple);letter-spacing:.13em}.contact-section-heading h2{color:var(--color-ink);letter-spacing:var(--letter-spacing-section-title);text-wrap:balance}.contact-section-heading>p:last-child{margin-top:var(--space-heading-to-copy);color:var(--color-ink-soft);line-height:var(--line-height-body);text-wrap:balance}.contact-form{width:min(100%,68rem);margin:var(--space-xl) auto 0}.contact-form__grid{gap:var(--space-m) clamp(var(--space-m), 3vw, var(--space-l));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-field{min-width:0}.contact-field--full{grid-column:1/-1}.contact-field label,.contact-field__label-row{color:var(--color-ink);font-family:var(--font-heading);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);line-height:var(--line-height-compact)}.contact-form__required-note{margin-bottom:var(--space-m);color:var(--color-ink-soft);font-size:var(--font-size-small);line-height:var(--line-height-compact)}.contact-form__asterisk{color:var(--contact-error);font-weight:var(--font-weight-bold)}.contact-field__optional{color:var(--color-ink-soft);font-family:var(--font-body);font-size:var(--font-size-small);font-weight:var(--font-weight-regular);margin-left:.35rem}.contact-field__label-row{justify-content:space-between;align-items:baseline;gap:var(--space-s);display:flex}.contact-field input,.contact-field select,.contact-field textarea{width:100%;max-width:100%;margin-top:var(--space-xs);border:1px solid color-mix(in srgb, var(--color-ink) 18%, var(--color-border));border-radius:var(--radius-m);color:var(--color-ink);background:var(--color-surface);font:inherit;line-height:var(--line-height-compact);transition:border-color .16s,box-shadow .16s,background-color .16s}.contact-field input,.contact-field select{min-height:3.75rem;padding:0 var(--space-s)}.contact-field textarea{min-height:10rem;padding:var(--space-s);resize:vertical}.contact-field input::placeholder,.contact-field textarea::placeholder{color:color-mix(in srgb, var(--color-ink-soft) 60%, transparent);opacity:1}.contact-field select{cursor:pointer}.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{border-color:var(--color-purple);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-purple) 14%, transparent);outline:0}.contact-field.is-invalid input,.contact-field.is-invalid select,.contact-field.is-invalid textarea{border-color:var(--contact-error);background:color-mix(in srgb, var(--contact-error-soft) 42%, var(--color-surface))}.contact-field.is-invalid input:focus-visible,.contact-field.is-invalid select:focus-visible,.contact-field.is-invalid textarea:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--contact-error) 13%, transparent)}.contact-field.is-valid input,.contact-field.is-valid select,.contact-field.is-valid textarea{border-color:color-mix(in srgb, var(--contact-valid) 48%, var(--color-border))}.contact-field__hint,.contact-field__error,.contact-field__count{font-size:var(--font-size-small);line-height:var(--line-height-compact)}.contact-field__hint{color:var(--color-ink-soft);margin-top:.4rem}.contact-field__error{min-height:1.25em;color:var(--contact-error);font-weight:var(--font-weight-bold);margin-top:.4rem}.contact-field__count{color:var(--color-ink-soft);font-family:var(--font-body);font-weight:var(--font-weight-regular);white-space:nowrap}.contact-form__submission-error{margin-bottom:var(--space-l);padding:var(--space-m) var(--space-l);border:1px solid color-mix(in srgb, var(--contact-error) 45%, var(--color-border));border-radius:var(--radius-m);color:var(--color-ink);background:var(--contact-error-soft);box-shadow:0 4px 14px color-mix(in srgb, var(--contact-error) 10%, transparent)}.contact-form__submission-error[hidden]{display:none}.contact-form__submission-error:focus{outline:3px solid color-mix(in srgb, var(--contact-error) 35%, transparent);outline-offset:3px}.contact-form__submission-error-header{align-items:center;gap:var(--space-xs);margin-bottom:.35rem;display:flex}.contact-form__submission-error-icon{color:var(--contact-error);flex-shrink:0}.contact-form__submission-error-header h3{color:var(--contact-error);font-family:var(--font-heading);font-size:var(--font-size-large);font-weight:var(--font-weight-bold);margin:0}.contact-form__submission-error-text{color:var(--color-ink);font-size:var(--font-size-body);line-height:var(--line-height-body);margin-top:.25rem}.contact-form__submission-error-fallback{margin-top:var(--space-s);padding-top:var(--space-xs);border-top:1px dashed color-mix(in srgb, var(--contact-error) 30%, transparent);font-size:var(--font-size-small)}.contact-form__submission-error-fallback p{color:var(--color-ink-soft);font-weight:var(--font-weight-bold);margin-bottom:.35rem}.contact-form__submission-error-fallback ul{gap:var(--space-xs) var(--space-l);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.contact-form__submission-error-fallback a{color:var(--contact-error);font-weight:var(--font-weight-bold);text-underline-offset:.18em;text-decoration:underline}.contact-form__submission-error-fallback a:hover{color:var(--color-purple-dark)}.contact-form__error-summary{margin-bottom:var(--space-l);padding:var(--space-m);border:1px solid color-mix(in srgb, var(--contact-error) 34%, var(--color-border));border-radius:var(--radius-m);color:var(--color-ink);background:var(--contact-error-soft)}.contact-form__error-summary[hidden]{display:none}.contact-form__error-summary:focus{outline:3px solid color-mix(in srgb, var(--contact-error) 28%, transparent);outline-offset:3px}.contact-form__error-summary h3{margin-bottom:var(--space-xs);color:var(--contact-error)}.contact-form__error-summary ul{gap:.35rem;margin:0;padding-left:1.25rem;display:grid}.contact-form__error-summary a{color:var(--contact-error);font-weight:var(--font-weight-bold);text-underline-offset:.18em}.contact-captcha{width:fit-content;max-width:100%;min-height:5rem;margin-top:var(--space-l);scroll-margin-block:25vh}.contact-captcha:focus{outline:3px solid color-mix(in srgb, var(--color-purple) 30%, transparent);outline-offset:4px}.contact-captcha.is-invalid{padding:var(--space-xs);border:1px solid var(--contact-error);border-radius:var(--radius-m);background:var(--contact-error-soft)}.contact-form__footer{gap:var(--space-l);margin-top:var(--space-l);padding-top:var(--space-l);border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.contact-consent__control{gap:var(--space-xs);grid-template-columns:1.35rem minmax(0,1fr);align-items:start;display:grid}.contact-consent input{width:1.25rem;height:1.25rem;accent-color:var(--color-purple);margin:.15rem 0 0}.contact-consent label{color:var(--color-ink-soft);font-size:var(--font-size-small);line-height:var(--line-height-body)}.contact-consent label a{color:var(--color-purple-dark);font-weight:var(--font-weight-bold);text-underline-offset:.18em}.contact-consent.is-invalid .contact-consent__control{padding:var(--space-xs);border-radius:var(--radius-m);background:var(--contact-error-soft)}.contact-form__submit,.contact-button{justify-content:center;align-items:center;gap:var(--space-xs);border-radius:var(--radius-pill);min-height:3.5rem;font-family:var(--font-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-compact);text-align:center;text-decoration:none;display:inline-flex}.contact-form__submit{min-width:14rem;padding:var(--space-xs) var(--space-l);color:var(--color-surface);background:linear-gradient(135deg, var(--color-purple), var(--color-purple-dark));box-shadow:0 .75rem 1.75rem color-mix(in srgb, var(--color-purple) 16%, transparent);cursor:pointer;border:0}.contact-form__submit:disabled{cursor:wait;opacity:.72}.contact-form__submit:focus-visible,.contact-button:focus-visible{outline:3px solid color-mix(in srgb, var(--color-purple) 40%, transparent);outline-offset:3px}.contact-form__status{min-height:1.5em;margin-top:var(--space-s);color:var(--color-ink-soft);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);text-align:right}.contact-next{background:linear-gradient(135deg, color-mix(in srgb, var(--color-purple-soft) 24%, var(--color-surface)), var(--color-surface))}.contact-next__grid{margin:var(--space-xl) 0 0;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.contact-next__step{gap:var(--space-s);min-width:0;padding-inline:var(--space-m);border-right:1px solid var(--color-border);grid-template-columns:3.75rem minmax(0,1fr);display:grid}.contact-next__step:first-child{padding-left:0}.contact-next__step:last-child{border-right:0;padding-right:0}.contact-next__number{aspect-ratio:1;width:3.75rem;color:var(--color-purple-dark);background:var(--color-purple-soft);font-family:var(--font-heading);font-size:var(--font-size-large);font-weight:var(--font-weight-bold);border-radius:50%;place-items:center;display:grid}.contact-next__step h3{margin-bottom:var(--space-xs);color:var(--color-ink)}.contact-next__step p{color:var(--color-ink-soft);font-size:var(--font-size-small);line-height:var(--line-height-body);text-wrap:pretty}.thank-you-header{padding-top:clamp(var(--space-xl), 6vw, var(--space-3xl));padding-bottom:clamp(var(--space-l), 4vw, var(--space-xl));text-align:center;background:linear-gradient(180deg, color-mix(in srgb, var(--color-purple-soft) 30%, var(--color-page)), var(--color-page) 100%)}.thank-you-header__eyebrow{margin-bottom:var(--space-s);color:var(--color-purple-dark);font-family:var(--font-heading);font-size:var(--font-size-small);font-weight:var(--font-weight-bold);letter-spacing:.14em;text-transform:uppercase}.thank-you-header__logo{max-width:min(100%,42rem);margin-inline:auto}.thank-you-header__copy{max-width:38rem;margin:var(--space-m) auto 0;color:var(--color-ink-soft);font-size:var(--font-size-body);line-height:var(--line-height-body);text-wrap:balance}.contact-success__card{width:min(100%,52rem);padding:clamp(var(--space-xl), 7vw, var(--space-3xl));text-align:center;justify-items:center;margin-inline:auto;display:grid}.contact-success__card h2{margin-top:var(--space-xs);color:var(--color-ink);letter-spacing:var(--letter-spacing-section-title);text-wrap:balance}.contact-success__card>p:not(.contact-section-heading__eyebrow){max-width:42rem;margin-top:var(--space-m);color:var(--color-ink-soft);line-height:var(--line-height-body);text-wrap:balance}.contact-success__actions{justify-content:center;gap:var(--space-s);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.contact-button{min-width:12rem;padding:var(--space-xs) var(--space-l)}.contact-button--primary{color:var(--color-surface);background:linear-gradient(135deg, var(--color-purple), var(--color-purple-dark))}.contact-button--secondary{border:1px solid color-mix(in srgb, var(--color-purple) 35%, var(--color-border));color:var(--color-purple-dark);background:var(--color-surface)}@media (hover:hover){.contact-form__submit,.contact-button{transition:transform .18s,box-shadow .18s,filter .18s}.contact-form__submit:hover:not(:disabled),.contact-button:hover{filter:brightness(1.03);transform:translateY(-.12rem)}}@media (width<64rem){.contact-form__grid{grid-template-columns:1fr}.contact-field--full{grid-column:auto}.contact-next__grid{gap:var(--space-m);grid-template-columns:1fr}.contact-next__step,.contact-next__step:first-child,.contact-next__step:last-child{border-right:0;padding:0}.contact-location{grid-template-columns:1fr}.contact-location__map{min-height:21rem}}@media (width<48rem){#contact-form{scroll-margin-block:var(--section-spacing)}.contact-hero--success{min-height:34rem}.contact-form-card,.contact-next,.contact-location{padding:var(--space-m);border-radius:var(--radius-m)}.contact-form{margin-top:var(--space-l)}.contact-form__grid{gap:var(--space-s)}.contact-form__footer{gap:var(--space-m);grid-template-columns:1fr}.contact-form__submit{width:100%}.contact-form__status{text-align:left}.contact-captcha{overflow-x:auto}.contact-next__step{grid-template-columns:3.25rem minmax(0,1fr)}.contact-next__number{width:3.25rem}.contact-location__map{min-height:17rem}.contact-location__details{gap:var(--space-m)}.contact-success__card{padding:var(--space-l) var(--space-m);border-radius:var(--radius-m)}.contact-success__actions,.contact-button{width:100%}}@media (width<30rem){.contact-field__label-row{gap:.25rem;display:grid}.contact-consent__control{grid-template-columns:1.25rem minmax(0,1fr)}.contact-location__item{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.contact-field input,.contact-field select,.contact-field textarea,.contact-form__submit,.contact-button{transition:none}.contact-form__submit:hover,.contact-button:hover{transform:none}html:focus-within{scroll-behavior:auto}}
