.contact-form-module{background:var(--color-muted);border-radius:30px;padding:clamp(2rem,4vw,4rem)}.contact-form-module__stage{position:relative}.contact-form-module__heading{max-width:42rem;margin-bottom:clamp(2rem,3vw,3rem)}.contact-form-module__eyebrow,.contact-form-module__heading h2,.contact-form-module__intro{margin:0}.contact-form-module__eyebrow{color:var(--color-primary);margin-bottom:.65rem;font-weight:700}.contact-form-module__intro{margin-top:.85rem}.contact-form{gap:1.4rem;display:grid}.contact-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;display:grid}.contact-form__field{gap:.45rem;display:grid}.contact-form__field label,.contact-form__consent label{font-weight:600}.contact-form__field :is(input,textarea){background:var(--color-surface);width:100%;color:var(--color-ink);border:1px solid #0000002e;border-radius:10px;outline:0;padding:.9rem 1rem;line-height:1.5;transition:border-color .16s,box-shadow .16s}.contact-form__field textarea{resize:vertical;min-height:10rem}.contact-form__field :is(input,textarea):focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px #d2247c24}.contact-form__field :is(input,textarea)[aria-invalid=true]{border-color:var(--color-primary);background:#d2247c0f}.contact-form__consent{grid-template-columns:1.25rem minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.contact-form__consent input{width:1.25rem;height:1.25rem;accent-color:var(--color-primary);margin-top:.15rem}.contact-form__consent input:focus-visible{outline-offset:2px;outline:3px solid #d2247c38}.contact-form__error,.contact-form__global-error{color:var(--color-primary);margin:0;font-size:.875rem;font-weight:600;line-height:1.4}.contact-form__submit{cursor:pointer;min-height:2.5625rem;padding:.55rem 1.35rem;font-size:1.1rem;font-weight:500;line-height:1}.contact-form-module__success{text-align:center;place-content:center;min-height:28rem;animation:.26s both contact-form-success-in}.contact-form-module__success:not([hidden]){display:grid}.contact-form-module__success-mark{background:var(--color-primary);border-radius:9999px;place-items:center;width:4.5rem;height:4.5rem;margin:0 auto 1.5rem;display:grid}.contact-form-module__success-mark:after{border-right:5px solid var(--color-surface);border-bottom:5px solid var(--color-surface);content:"";width:1.15rem;height:2.2rem;transform:translateY(-.25rem)rotate(45deg)}.contact-form-module__success :is(h2,p){margin:0}.contact-form-module__success p{margin-top:.85rem}.contact-form-module [hidden]{display:none!important}@keyframes contact-form-success-in{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}@media (width<=767px){.contact-form-module{border-radius:20px;padding:1.5rem}.contact-form__grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.contact-form__field :is(input,textarea),.contact-form-module__success{transition:none;animation:none}}.contact-modal{z-index:4000;position:fixed;inset:0}.contact-modal[hidden]{display:none}.contact-modal__backdrop{opacity:0;background:#00000070;transition:opacity .52s ease-in-out;position:absolute;inset:0}.contact-modal[data-state=open] .contact-modal__backdrop{opacity:1}.contact-modal__viewport{pointer-events:none;place-items:center;padding:clamp(1rem,3vw,2.5rem);display:grid;position:absolute;inset:0}.contact-modal__panel{background:var(--color-surface);pointer-events:auto;will-change:transform;border-radius:1.5rem;outline:0;width:min(73.75rem,100vw - 4rem);max-height:calc(100dvh - 3rem);transition:transform .52s ease-in-out;position:relative;overflow:hidden;transform:translateY(calc(100vh + 100%));box-shadow:0 1.5rem 5rem #00000047}.contact-modal[data-state=open] .contact-modal__panel{transform:translate(0,0)}.contact-modal .contact-form-module{max-height:inherit;overscroll-behavior:contain;border-radius:inherit;background:0 0;padding:clamp(1.75rem,3vw,2.75rem);overflow-y:auto}.contact-modal .contact-form-module__heading{max-width:50rem;margin-bottom:1.5rem;padding-right:4.5rem}.contact-modal .contact-form{gap:1rem}.contact-modal .contact-form__grid{gap:1rem 1.25rem}.contact-modal .contact-form__field{gap:.35rem}.contact-modal .contact-form__field :is(input,textarea){padding:.7rem .9rem}.contact-modal .contact-form__field textarea{height:6.5rem;min-height:6.5rem}.contact-modal__close{z-index:2;width:3rem;height:3rem;color:var(--color-primary);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:clamp(1.25rem,2vw,1.75rem);right:clamp(1.25rem,2vw,1.75rem)}.contact-modal__close:is(:hover,:focus-visible){color:var(--color-ink)}.contact-modal__close:is(:hover,:focus-visible) .contact-modal__close-icon:before,.contact-modal__close:is(:hover,:focus-visible) .contact-modal__close-icon:after{animation:1.1s linear infinite contact-modal-close-spin}.contact-modal__close-icon{place-items:center;width:2.5rem;height:2.5rem;display:grid;position:relative}.contact-modal__close-icon:before,.contact-modal__close-icon:after{background:conic-gradient(from var(--close-line-start), currentColor 0deg 90deg, transparent 90deg 360deg);content:"";pointer-events:none;border-radius:50%;position:absolute;inset:-.3rem;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 2px))}.contact-modal__close-icon:before{--close-line-start:270deg}.contact-modal__close-icon:after{--close-line-start:90deg}.contact-modal__close-icon>span,.contact-modal__close-icon>span:after{content:"";background:currentColor;width:1.25rem;height:2px;display:block}.contact-modal__close-icon>span{position:relative;transform:rotate(45deg)}.contact-modal__close-icon>span:after{position:absolute;inset:0;transform:rotate(90deg)}.contact-modal__close:focus-visible{outline-offset:2px;outline:3px solid #d2247c38}body.contact-modal-open{overflow:hidden}@keyframes contact-modal-close-spin{to{transform:rotate(1turn)}}@media (width<=767px){.contact-modal__viewport{place-items:end center;padding:.75rem}.contact-modal__panel{border-radius:1.5rem 1.5rem .75rem .75rem;width:100%;max-height:calc(100dvh - 1.5rem);transform:translateY(calc(100% + 1rem))}.contact-modal .contact-form-module{padding:1.25rem}.contact-modal .contact-form-module__heading{padding-right:4rem}.contact-modal__close{top:1rem;right:1rem}}@media (prefers-reduced-motion:reduce){.contact-modal__backdrop,.contact-modal__panel{transition:none}.contact-modal__close-icon:before,.contact-modal__close-icon:after{animation:none!important}}
