.contact-overlay-backdrop{z-index:110;opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur();pointer-events:none;background:#0f2b28b3;transition:opacity .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s;position:fixed;inset:0}.contact-overlay-backdrop--visible{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.contact-overlay{z-index:111;pointer-events:none;justify-content:center;align-items:flex-end;padding:.75rem 0 0;display:flex;position:fixed;inset:0}@media (min-width:768px){.contact-overlay{align-items:center;padding:1.5rem}}.contact-overlay__panel{background:var(--white);border-radius:var(--radius-xl) var(--radius-xl) 0 0;pointer-events:auto;flex-direction:column;width:100%;max-width:51.25rem;max-height:min(94vh,40rem);transition:transform .45s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden;transform:translateY(100%);box-shadow:0 24px 48px #0003}@media (min-width:768px){.contact-overlay__panel{border-radius:var(--radius-xl);opacity:0;flex-direction:row;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s;transform:translateY(1.5rem)}}.contact-overlay--visible .contact-overlay__panel{opacity:1;transform:translateY(0)}.contact-overlay__aside{background:#e8f5f2;flex-direction:column;justify-content:space-between;gap:1.5rem;padding:1.75rem 1.5rem;display:flex}@media (min-width:768px){.contact-overlay__aside{flex-shrink:0;width:21.25rem;padding:3rem 2.75rem 2.75rem}}.contact-overlay__aside-top{flex-direction:column;gap:2rem;display:flex}.contact-overlay__panel-title{letter-spacing:-.02em;color:var(--forest);margin:0;font-size:1.5rem;font-weight:700;line-height:1.15}@media (min-width:768px){.contact-overlay__panel-title{font-size:2.25rem}}.contact-overlay__profile{align-items:flex-start;gap:1rem;display:flex}.contact-overlay__avatar{border-radius:999px;flex-shrink:0;width:4.5rem;height:4.5rem;position:relative;overflow:hidden}.contact-overlay__avatar-image{object-fit:cover;object-position:center top}.contact-overlay__profile-details{flex-direction:column;align-items:flex-start;min-width:0;padding-top:.125rem;display:flex}.contact-overlay__profile-name{color:var(--forest);margin:0;font-size:.9375rem;font-weight:700;line-height:1.3}.contact-overlay__profile-role{color:#17423d99;margin:.125rem 0 0;font-size:.8125rem;line-height:1.3}.contact-overlay__profile-social{width:fit-content;color:var(--teal);opacity:.88;background:0 0;border:none;align-items:center;gap:.375rem;margin-top:.625rem;padding:0;font-size:.6875rem;font-weight:600;line-height:1;text-decoration:none;transition:opacity .15s,color .15s;display:inline-flex}.contact-overlay__profile-social:hover{opacity:1;color:var(--forest)}.contact-overlay__profile-social:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:2px}.contact-overlay__profile-social-icon{flex-shrink:0}.contact-overlay__panel-body{color:#17423db3;margin:0;font-size:.875rem;line-height:1.55}.contact-overlay__form-panel{background:var(--white);flex-direction:column;flex:1;min-width:0;min-height:0;padding:1.75rem 1.5rem;display:flex;position:relative;overflow:auto}@media (min-width:768px){.contact-overlay__form-panel{padding:2.75rem}}.contact-overlay__close{z-index:1;background:var(--testimonial);width:2rem;height:2rem;color:var(--forest);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;line-height:1;transition:background-color .2s;display:inline-flex;position:absolute;top:1rem;right:1rem}.contact-overlay__close:hover{background:#2bb5a033}.contact-overlay__header{padding-right:2.25rem}.contact-overlay__eyebrow{letter-spacing:.1em;margin-bottom:.875rem;font-size:.6875rem;font-weight:600}.contact-overlay__form-title{letter-spacing:-.01em;color:var(--forest);margin:0;font-size:1.375rem;font-weight:700;line-height:1.2}.contact-overlay__form-intro{color:#17423d80;margin:.625rem 0 0;font-size:.8125rem;line-height:1.45}.contact-overlay__form{flex-direction:column;flex:1;gap:.875rem;margin-top:1.5rem;display:flex}.contact-overlay__field-row{grid-template-columns:1fr;gap:.875rem;display:grid}@media (min-width:768px){.contact-overlay__field-row{grid-template-columns:1fr 1fr}}.contact-overlay__field{flex-direction:column;gap:.375rem;display:flex}.contact-overlay__label{color:var(--forest);font-size:.8125rem;font-weight:700}.contact-overlay__input,.contact-overlay__textarea{border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--forest);background:var(--white);border:1px solid #17423d26;padding:.6875rem .875rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.contact-overlay__input{height:2.625rem}.contact-overlay__input::placeholder,.contact-overlay__textarea::placeholder{color:#17423d66}.contact-overlay__input:focus,.contact-overlay__textarea:focus{border-color:#2bb5a08c;outline:none;box-shadow:0 0 0 3px #2bb5a01f}.contact-overlay__input--invalid{border-color:#b42318}.contact-overlay__input--invalid:focus{border-color:#b42318;box-shadow:0 0 0 3px #b423181f}.contact-overlay__field-error{color:#b42318;margin:0;font-size:.8125rem;line-height:1.4}.contact-overlay__textarea{resize:vertical;min-height:6.25rem}.contact-overlay__submit{width:100%;margin-top:auto;padding-top:.8125rem;padding-bottom:.8125rem;font-size:.9375rem}.contact-overlay__hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-overlay__error{color:#b42318;margin:0 0 1rem;font-size:.875rem;line-height:1.45}.contact-overlay__success{text-align:center;flex-direction:column;flex:1;justify-content:center;padding:1rem 0;display:flex}.contact-overlay__success .contact-overlay__form-title{margin-bottom:.75rem}.contact-overlay__success .contact-overlay__form-intro{margin-bottom:1.5rem}@media (prefers-reduced-motion:reduce){.contact-overlay__panel,.contact-overlay-backdrop{transition:none}}
