.contact-form-shell{display:grid;gap:1rem}.contact-form{--contact-form-column-gap: 1rem;--contact-form-row-gap: clamp(1.55rem, 2.15vw, 1.75rem);display:grid;gap:var(--contact-form-row-gap);padding:clamp(1.35rem,3.2vw,2.35rem);border:1px solid rgb(192 220 244 / .72);border-radius:1.35rem;background:#fff;box-shadow:0 30px 74px -56px #0668b673;transition:opacity .26s var(--ease),transform .26s var(--ease),filter .26s var(--ease),box-shadow var(--hover-duration) var(--hover-ease)}.contact-form.is-success-exiting{transform:translateY(-.7rem) scale(.985);opacity:0;filter:blur(2px);pointer-events:none}.contact-form-row{display:grid;gap:var(--contact-form-row-gap) var(--contact-form-column-gap)}.contact-form label{position:relative;display:grid;gap:.45rem;color:var(--ink);font-weight:var(--font-weight-ui)}.contact-form input:not([type=radio]):not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;border:1px solid rgb(192 220 244 / .86);border-radius:.85rem;padding:.95rem 2.8rem .95rem 1rem;background:#f8fcffe6;color:var(--ink);outline:none;transition:border-color var(--hover-duration-fast) var(--hover-ease),box-shadow var(--hover-duration) var(--hover-ease),background var(--hover-duration) var(--hover-ease)}.contact-choice{position:relative;display:grid;gap:.55rem;min-width:0;margin:0;border:0;padding:0}.contact-choice legend{display:block;margin:0 0 .65rem;padding:0;color:var(--ink);font-weight:var(--font-weight-ui)}.contact-choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:min(100%,21rem)}.contact-choice-wide .contact-choice-options{width:100%}.contact-choice-options.contact-choice-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr))}.contact-choice-options label{display:block;cursor:pointer}.contact-choice-options input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.contact-choice-options span{display:flex;min-height:3.15rem;align-items:center;justify-content:center;border:1px solid rgb(192 220 244 / .86);border-radius:999px;background:#f8fcffe6;color:var(--ink-soft);font-weight:var(--font-weight-kicker);line-height:1;transition:border-color var(--hover-duration-fast) var(--hover-ease),background var(--hover-duration) var(--hover-ease),box-shadow var(--hover-duration) var(--hover-ease),color var(--hover-duration-fast) var(--hover-ease),transform var(--hover-duration) var(--hover-ease)}.contact-choice-options.contact-choice-grid span{justify-content:flex-start;min-height:3.35rem;border-radius:.9rem;padding:.72rem .9rem;text-align:left;line-height:1.18}.contact-choice-options label:hover span{border-color:#1e8fe573;color:var(--brand-700);transform:translateY(-1px)}.contact-choice-options input:checked+span{border-color:transparent;background:linear-gradient(135deg,var(--brand-700),var(--brand-500) 58%,var(--brand-400));color:#fff;box-shadow:0 18px 38px -28px #0668b6bd}.contact-choice-options input:focus-visible+span{box-shadow:0 0 0 4px #1e8fe526}.contact-form input[type=file]{cursor:pointer;padding:.72rem 2.8rem .72rem .72rem}.contact-form input[type=file]::file-selector-button{margin-right:.8rem;border:0;border-radius:999px;padding:.62rem .9rem;background:#ecf6fff2;color:var(--brand-700);cursor:pointer;font:inherit;font-weight:var(--font-weight-kicker);transition:background var(--hover-duration) var(--hover-ease),color var(--hover-duration) var(--hover-ease)}.contact-form input[type=file]:hover::file-selector-button{background:var(--brand-700);color:#fff}.contact-field-hint{color:var(--ink-soft);font-size:.92rem;font-weight:var(--font-weight-body-strong);line-height:1.45}.contact-form textarea{min-height:15rem;resize:vertical}.contact-form input:not([type=radio]):not([type=checkbox]):focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--brand-500);background:#fff;box-shadow:0 0 0 4px #1e8fe51f}.contact-form.is-webmcp-active{outline:2px dashed rgb(1 177 207 / .72);outline-offset:.35rem}.contact-form.is-webmcp-active button[type=submit]{box-shadow:0 18px 40px -26px #0668b6cc,0 0 0 4px #01b1cf24}.contact-form.was-validated input[aria-invalid=true]:not([type=radio]):not([type=checkbox]),.contact-form.was-validated select[aria-invalid=true],.contact-form.was-validated textarea[aria-invalid=true],.contact-form label.is-invalid:not(.contact-checkbox) input:not([type=radio]):not([type=checkbox]),.contact-form label.is-invalid:not(.contact-checkbox) select,.contact-form label.is-invalid:not(.contact-checkbox) textarea{border-color:#e14e4eb8;background:#fff8f8f2}.contact-form label.is-valid:not(.contact-checkbox) input:not([type=radio]):not([type=checkbox]),.contact-form label.is-valid:not(.contact-checkbox) select,.contact-form label.is-valid:not(.contact-checkbox) textarea{border-color:#249d60c2;background:#f7fdfafa}.contact-form label.is-invalid:not(.contact-checkbox):after,.contact-form label.is-valid:not(.contact-checkbox):after{content:"";position:absolute;top:calc(1.6em + 2.2rem);right:1rem;z-index:2;width:1rem;height:1rem;pointer-events:none;transform:translateY(-50%)}.contact-form label.is-valid:not(.contact-checkbox):after{width:.78rem;height:.44rem;border-bottom:2px solid rgb(24 128 76);border-left:2px solid rgb(24 128 76);transform:translateY(-50%) rotate(-45deg);transform-origin:center}.contact-form label.is-invalid:not(.contact-checkbox):after{border-radius:999px;background:linear-gradient(45deg,transparent calc(50% - 1px),rgb(180 35 24) calc(50% - 1px),rgb(180 35 24) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(-45deg,transparent calc(50% - 1px),rgb(180 35 24) calc(50% - 1px),rgb(180 35 24) calc(50% + 1px),transparent calc(50% + 1px))}.contact-form label:has(textarea).is-invalid:not(.contact-checkbox):after,.contact-form label:has(textarea).is-valid:not(.contact-checkbox):after{top:calc(1.6em + 1.55rem);transform:none}.contact-form label:has(textarea).is-valid:not(.contact-checkbox):after{transform:rotate(-45deg)}.contact-choice.is-invalid .contact-choice-options span{border-color:#e14e4eb8;background:#fff8f8f2}.contact-checkbox.is-invalid{color:#b42318!important}.contact-checkbox input{accent-color:var(--brand-500)}.contact-checkbox.is-invalid input{accent-color:#b42318;box-shadow:0 0 0 4px #e14e4e1f}.contact-field-error{position:absolute;top:calc(100% - .4rem);left:0;z-index:0;width:max-content;max-width:min(100%,28rem);margin:0;border:1px solid rgb(225 78 78 / .18);border-top:0;border-radius:0 0 .7rem .7rem;padding:.5rem .7rem .26rem;background:#fffffffa;box-shadow:0 14px 26px -20px #b4231880;color:#b42318;font-size:.8rem;font-weight:var(--font-weight-ui);line-height:1.25}.contact-form label:not(.contact-checkbox) input:not([type=radio]):not([type=checkbox]),.contact-form label:not(.contact-checkbox) select,.contact-form label:not(.contact-checkbox) textarea{position:relative;z-index:1}.contact-choice>.contact-field-error,.contact-checkbox>.contact-field-error{top:calc(100% + .35rem);z-index:5;border-top:1px solid rgb(225 78 78 / .18);border-radius:.7rem;padding:.32rem .62rem .36rem}.contact-form .contact-choice:has(.contact-field-error),.contact-form .contact-checkbox:has(.contact-field-error){margin-bottom:2.2rem}.contact-checkbox{position:relative;display:flex!important;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:.7rem!important;color:var(--ink-soft)!important;font-weight:var(--font-weight-body-strong)!important}.contact-checkbox input{width:1.1rem;height:1.1rem;margin-top:.25rem;flex:0 0 auto;padding:0}.contact-form-footer{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}.contact-form-status{min-height:1.5rem;margin:0;color:var(--ink-soft);font-weight:var(--font-weight-ui)}.contact-form-status.is-error{color:#b42318}.contact-form-status.is-success{color:var(--brand-700)}.contact-form .btn:disabled{cursor:wait;opacity:.72}.contact-form.is-submitting{cursor:wait}.contact-form.is-submitting .contact-form-footer .btn[type=submit]{opacity:.94}.contact-form.is-submitting .contact-form-footer .btn[type=submit]:before,.potential-phone-followup-card.is-submitting .btn-primary:before{animation:none;opacity:.18}.contact-form.is-submitting .contact-form-footer .btn[type=submit] svg{opacity:0}.contact-form.is-submitting .contact-form-footer .btn[type=submit]:after{content:"";position:absolute;z-index:2;top:50%;right:1rem;width:1rem;height:1rem;margin-top:-.5rem;border:2px solid rgb(255 255 255 / .48);border-top-color:#fff;border-radius:999px;animation:contact-submit-spin .82s linear infinite;pointer-events:none}.contact-submit-spinner-slot{width:1rem;height:1rem;flex:0 0 1rem;border:2px solid transparent;border-radius:999px;opacity:0;pointer-events:none}.potential-phone-followup-card.is-submitting .contact-submit-spinner-slot{border-color:#ffffff7a;border-top-color:#fff;opacity:1;animation:contact-submit-spin .82s linear infinite}.contact-success-card{position:relative;display:grid;gap:1rem;overflow:hidden;border:1px solid rgb(124 190 239 / .76);border-radius:1.35rem;padding:clamp(1.45rem,3.2vw,2.55rem);background:linear-gradient(180deg,rgb(255 255 255 / .62),transparent 42%),linear-gradient(135deg,#ecf6fffa,#fff 58%,#f8fcfffa);box-shadow:0 34px 82px -58px #0668b694;opacity:0;outline:none;transform:translateY(.9rem) scale(.985);transition:opacity .36s var(--ease),transform .36s var(--ease),box-shadow var(--hover-duration) var(--hover-ease)}.contact-success-card:before{content:"";position:absolute;inset:0 0 auto;height:.3rem;background:linear-gradient(90deg,var(--brand-700),var(--brand-500),var(--brand-400))}.contact-success-card.is-visible{opacity:1;transform:none}.contact-success-card:focus-visible{box-shadow:0 34px 82px -58px #0668b694,0 0 0 4px #1e8fe529}.contact-success-icon{position:relative;display:grid;width:4rem;height:4rem;place-items:center;border-radius:999px;background:linear-gradient(135deg,var(--brand-700),var(--brand-500) 58%,var(--brand-400));box-shadow:0 22px 48px -30px #0668b6c7}.contact-success-icon:before{content:"";width:1.55rem;height:.82rem;margin-top:-.16rem;border-bottom:.24rem solid #fff;border-left:.24rem solid #fff;transform:rotate(-45deg)}.contact-success-card .section-kicker{margin:.1rem 0 0}.contact-success-card h2{max-width:42rem;margin:.15rem 0 0;color:var(--ink);font-family:var(--font-barlow-semi-condensed),var(--font-barlow),system-ui,sans-serif;font-size:clamp(1.65rem,3vw,2.35rem);font-weight:var(--font-weight-display);letter-spacing:0;line-height:1.08}.contact-success-text,.contact-success-note{max-width:42rem;margin:0;color:var(--ink-soft);font-size:clamp(1.02rem,1.3vw,1.16rem);font-weight:var(--font-weight-body-strong);line-height:1.58}.contact-success-note{color:var(--ink);font-weight:var(--font-weight-ui)}.contact-success-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-top:.35rem}.contact-success-actions .btn{min-height:2.85rem;padding:.78rem 1.08rem;font-size:.9rem}.contact-success-actions .contact-success-reset{background:#fff;color:var(--brand-700)}.contact-checkbox a{color:var(--brand-700);font-weight:var(--font-weight-body);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}@keyframes contact-submit-spin{to{transform:rotate(360deg)}}@media(min-width:760px){.contact-form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.contact-form-footer{align-items:stretch;flex-direction:column}.contact-form-footer .btn{width:100%}.contact-success-actions{align-items:stretch;flex-direction:column}.contact-success-actions .btn{width:100%;text-align:center}}@media(prefers-reduced-motion:reduce){.contact-form,.contact-success-card{transition:none!important}.contact-success-card{transform:none!important}.contact-form.is-submitting .contact-form-footer .btn[type=submit]:after,.potential-phone-followup-card.is-submitting .contact-submit-spinner-slot{animation:none!important}}
