.contact-form-shell{gap:1rem;display:grid}.contact-form{--contact-form-column-gap:1rem;--contact-form-row-gap:clamp(1.55rem, 2.15vw, 1.75rem);gap:var(--contact-form-row-gap);transition:opacity .26s var(--ease), transform .26s var(--ease), filter .26s var(--ease), box-shadow var(--hover-duration) var(--hover-ease);background:#fff;border:1px solid #c0dcf4b8;border-radius:1.35rem;padding:clamp(1.35rem,3.2vw,2.35rem);display:grid;box-shadow:0 30px 74px -56px #0668b673}.contact-form.is-success-exiting{opacity:0;filter:blur(2px);pointer-events:none;transform:translateY(-.7rem)scale(.985)}.contact-form-row{gap:var(--contact-form-row-gap) var(--contact-form-column-gap);display:grid}.contact-form label{color:var(--ink);font-weight:var(--font-weight-ui);gap:.45rem;display:grid;position:relative}.contact-form input:not([type=radio]):not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;color:var(--ink);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);background:#f8fcffe6;border:1px solid #c0dcf4db;border-radius:.85rem;outline:none;padding:.95rem 2.8rem .95rem 1rem}.contact-choice{border:0;gap:.55rem;min-width:0;margin:0;padding:0;display:grid;position:relative}.contact-choice legend{color:var(--ink);font-weight:var(--font-weight-ui);margin:0 0 .65rem;padding:0;display:block}.contact-choice-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;width:min(100%,21rem);display:grid}.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{cursor:pointer;display:block}.contact-choice-options input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-choice-options span{min-height:3.15rem;color:var(--ink-soft);font-weight:var(--font-weight-kicker);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);background:#f8fcffe6;border:1px solid #c0dcf4db;border-radius:999px;justify-content:center;align-items:center;line-height:1;display:flex}.contact-choice-options.contact-choice-grid span{text-align:left;border-radius:.9rem;justify-content:flex-start;min-height:3.35rem;padding:.72rem .9rem;line-height:1.18}.contact-choice-options label:hover span{color:var(--brand-700);border-color:#1e8fe573;transform:translateY(-1px)}.contact-choice-options input:checked+span{background:linear-gradient(135deg, var(--brand-700), var(--brand-500) 58%, var(--brand-400));color:#fff;border-color:#0000;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{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);background:#ecf6fff2;border:0;border-radius:999px;margin-right:.8rem;padding:.62rem .9rem}.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{resize:vertical;min-height:15rem}#contact-panel-general .contact-form textarea[name=message]{min-height:25rem}.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-offset:.35rem;outline:2px dashed #01b1cfb8}.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{background:#fff8f8f2;border-color:#e14e4eb8}.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{background:#f7fdfafa;border-color:#249d60c2}.contact-form label.is-invalid:not(.contact-checkbox):after,.contact-form label.is-valid:not(.contact-checkbox):after{content:"";z-index:2;pointer-events:none;width:1rem;height:1rem;position:absolute;top:calc(1.6em + 2.2rem);right:1rem;transform:translateY(-50%)}.contact-form label.is-valid:not(.contact-checkbox):after{transform-origin:50%;border-bottom:2px solid #18804c;border-left:2px solid #18804c;width:.78rem;height:.44rem;transform:translateY(-50%)rotate(-45deg)}.contact-form label.is-invalid:not(.contact-checkbox):after{background:linear-gradient(45deg,#0000 calc(50% - 1px),#b42318 calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px)),linear-gradient(-45deg,#0000 calc(50% - 1px),#b42318 calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px));border-radius:999px}.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{background:#fff8f8f2;border-color:#e14e4eb8}.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{z-index:0;color:#b42318;width:max-content;max-width:min(100%,28rem);font-size:.8rem;font-weight:var(--font-weight-ui);background:#fffffffa;border:1px solid #e14e4e2e;border-top:0;border-radius:0 0 .7rem .7rem;margin:0;padding:.5rem .7rem .26rem;line-height:1.25;position:absolute;top:calc(100% - .4rem);left:0;box-shadow:0 14px 26px -20px #b4231880}.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{z-index:1;position:relative}.contact-choice>.contact-field-error,.contact-checkbox>.contact-field-error{z-index:5;border-top:1px solid #e14e4e2e;border-radius:.7rem;padding:.32rem .62rem .36rem;top:calc(100% + .35rem)}.contact-form .contact-choice:has(.contact-field-error),.contact-form .contact-checkbox:has(.contact-field-error){margin-bottom:2.2rem}.contact-checkbox{grid-template-columns:auto minmax(0,1fr);align-items:flex-start;position:relative;color:var(--ink-soft)!important;font-weight:var(--font-weight-body-strong)!important;gap:.7rem!important;display:flex!important}.contact-checkbox input{flex:none;width:1.1rem;height:1.1rem;margin-top:.25rem;padding:0}.contact-form-footer{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.contact-form-status{min-height:1.5rem;color:var(--ink-soft);font-weight:var(--font-weight-ui);margin:0}.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{opacity:.18;animation:none}.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:"";z-index:2;pointer-events:none;border:2px solid #ffffff7a;border-top-color:#fff;border-radius:999px;width:1rem;height:1rem;margin-top:-.5rem;animation:.82s linear infinite contact-submit-spin;position:absolute;top:50%;right:1rem}.contact-submit-spinner-slot{opacity:0;pointer-events:none;border:2px solid #0000;border-radius:999px;flex:0 0 1rem;width:1rem;height:1rem}.potential-phone-followup-card.is-submitting .contact-submit-spinner-slot{opacity:1;border-color:#fff #ffffff7a #ffffff7a;animation:.82s linear infinite contact-submit-spin}.contact-success-card{opacity:0;transition:opacity .36s var(--ease), transform .36s var(--ease), box-shadow var(--hover-duration) var(--hover-ease);background:linear-gradient(#ffffff9e,#0000 42%),linear-gradient(135deg,#ecf6fffa,#fff 58%,#f8fcfffa);border:1px solid #7cbeefc2;border-radius:1.35rem;outline:none;gap:1rem;padding:clamp(1.45rem,3.2vw,2.55rem);display:grid;position:relative;overflow:hidden;transform:translateY(.9rem)scale(.985);box-shadow:0 34px 82px -58px #0668b694}.contact-success-card:before{content:"";background:linear-gradient(90deg, var(--brand-700), var(--brand-500), var(--brand-400));height:.3rem;position:absolute;inset:0 0 auto}.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{background:linear-gradient(135deg, var(--brand-700), var(--brand-500) 58%, var(--brand-400));border-radius:999px;place-items:center;width:4rem;height:4rem;display:grid;position:relative;box-shadow:0 22px 48px -30px #0668b6c7}.contact-success-icon:before{content:"";border-bottom:.24rem solid #fff;border-left:.24rem solid #fff;width:1.55rem;height:.82rem;margin-top:-.16rem;transform:rotate(-45deg)}.contact-success-card .section-kicker{margin:.1rem 0 0}.contact-success-card h2{max-width:42rem;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;margin:.15rem 0 0;line-height:1.08}.contact-success-text,.contact-success-note{max-width:42rem;color:var(--ink-soft);font-size:clamp(1.02rem,1.3vw,1.16rem);font-weight:var(--font-weight-body-strong);margin:0;line-height:1.58}.contact-success-note{color:var(--ink);font-weight:var(--font-weight-ui)}.contact-success-actions{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:.35rem;display:flex}.contact-success-actions .btn{min-height:2.85rem;padding:.78rem 1.08rem;font-size:.9rem}.contact-success-actions .contact-success-reset{color:var(--brand-700);background:#fff}.contact-checkbox a{color:var(--brand-700);font-weight:var(--font-weight-body);text-underline-offset:.18em;text-decoration:underline .08em}@keyframes contact-submit-spin{to{transform:rotate(360deg)}}@media (width>=760px){.contact-form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.contact-form-footer{flex-direction:column;align-items:stretch}.contact-form-footer .btn{width:100%}.contact-success-actions{flex-direction:column;align-items:stretch}.contact-success-actions .btn{text-align:center;width:100%}}@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}}
