.contact-page{background:var(--page-white);width:100%;max-width:100%;overflow-x:clip}.contact-content{isolation:isolate;max-width:1140px;margin:0 auto;padding:48px 24px 96px;position:relative}.contact-content:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse 70% 80% at 12% 20%, color-mix(in srgb, var(--page-teal) 10%, transparent), transparent 70%), radial-gradient(ellipse 55% 70% at 92% 8%, color-mix(in srgb, var(--accent-orange) 12%, transparent), transparent 68%);height:min(420px,55vw);position:absolute;inset:0 -12vw auto}.contact-content__intro{max-width:640px;margin:0 0 48px}.contact-content__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-orange);margin:0 0 10px;font-size:13px;font-weight:600}.contact-content__intro h1{color:var(--page-teal);margin:0 0 18px;padding-bottom:14px;font-size:clamp(30px,4.2vw,40px);font-weight:600;line-height:1.15;position:relative}.contact-content__intro h1:after{content:"";background:var(--accent-orange);border-radius:999px;width:48px;height:3px;position:absolute;bottom:0;left:0}.contact-content__intro p{color:var(--text-dark);margin:0;font-size:17px;font-weight:400;line-height:1.65}.contact-content__intro a{color:#1e61dc;text-underline-offset:2px;text-decoration:underline;transition:opacity .2s}.contact-content__intro a:hover{opacity:.85}.contact-layout{align-items:start;gap:28px;display:grid}@media (min-width:900px){.contact-layout{grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:36px}}.contact-details{border:1px solid color-mix(in srgb, var(--page-teal) 16%, #e8eef0);background:linear-gradient(165deg, color-mix(in srgb, var(--page-teal) 7%, white) 0%, color-mix(in srgb, var(--reviews-bg) 70%, white) 100%);border-radius:20px;padding:28px 26px}.contact-details h2{color:var(--page-teal);margin:0 0 1.35em;font-size:clamp(20px,2.6vw,24px);font-weight:600;line-height:1.25}.contact-details__item{margin:0 0 1.35em}.contact-details__item:last-child{margin-bottom:0}.contact-details__item--highlight{border-top:1px solid color-mix(in srgb, var(--page-teal) 14%, transparent);margin-top:1.6em;padding-top:1.35em}.contact-details__label{letter-spacing:.03em;text-transform:uppercase;color:var(--accent-slate);align-items:center;gap:8px;margin:0 0 .45em;font-size:13px;font-weight:600;display:inline-flex}.contact-details__icon{width:16px;height:16px;color:var(--accent-orange);flex-shrink:0}.contact-details__value{color:var(--text-dark);margin:0;font-size:16px;font-weight:400;line-height:1.6}.contact-details__value a{color:#1e61dc;text-underline-offset:2px;text-decoration:underline;transition:opacity .2s}.contact-details__value a:hover{opacity:.85}.contact-form-panel{box-shadow:0 18px 40px -28px color-mix(in srgb, var(--page-teal) 45%, transparent);background:#fff;border:1px solid #e4e9ec;border-radius:20px;padding:28px 26px 30px}.contact-form-panel__header{margin:0 0 24px}.contact-form-panel__header h2{color:var(--page-teal);margin:0 0 8px;font-size:clamp(20px,2.6vw,24px);font-weight:600;line-height:1.25}.contact-form-panel__header p{color:#5f6b6d;margin:0;font-size:15px;line-height:1.55}.contact-form{flex-direction:column;gap:18px;display:flex}.contact-form__row{gap:18px;display:grid}@media (min-width:640px){.contact-form__row{grid-template-columns:1fr 1fr}}.contact-form__field{flex-direction:column;gap:8px;display:flex}.contact-form__label{letter-spacing:.01em;color:#5f6b6d;font-size:13px;font-weight:500}.contact-form__input,.contact-form__textarea{background:color-mix(in srgb, var(--reviews-bg) 55%, white);width:100%;color:var(--text-dark);border:1px solid #dfe6e8;border-radius:14px;outline:none;padding:13px 16px;font-family:inherit;font-size:16px;font-weight:400;transition:border-color .2s,background-color .2s,box-shadow .2s}.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:#8a9598}.contact-form__input:hover,.contact-form__textarea:hover{border-color:color-mix(in srgb, var(--page-teal) 35%, #dfe6e8)}.contact-form__input:focus,.contact-form__textarea:focus{border-color:var(--page-teal);box-shadow:0 0 0 3px color-mix(in srgb, var(--page-teal) 16%, transparent);background:#fff}.contact-form__textarea{resize:vertical;border-radius:16px;min-height:168px;line-height:1.55}.contact-form__submit{background:var(--accent-green);color:#fff;cursor:pointer;box-shadow:0 10px 22px -14px color-mix(in srgb, var(--accent-green) 80%, transparent);border:none;border-radius:34px;align-self:flex-start;margin-top:6px;padding:13px 34px;font-size:clamp(16px,2.4vw,18px);font-weight:600;transition:transform .2s,background-color .2s,box-shadow .2s,opacity .2s}.contact-form__submit:hover:not(:disabled){background:var(--featured-green);transform:translateY(-1px)}.contact-form__submit:active:not(:disabled){transform:translateY(0)}.contact-form__submit:disabled{cursor:not-allowed;opacity:.72;transform:none}.contact-form__error{color:#b03a2e;background:#faefee;border-radius:12px;margin:0;padding:10px 14px;font-size:14px;font-weight:400;line-height:1.45}.contact-success-modal{z-index:1200;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.contact-success-modal__backdrop{cursor:pointer;-webkit-backdrop-filter:blur(5px);background:#1a2e2e94;border:none;margin:0;padding:0;animation:.28s both contact-modal-fade;position:absolute;inset:0}.contact-success-modal__panel{z-index:1;border:1px solid color-mix(in srgb, var(--page-teal) 14%, #e8eef0);text-align:center;width:min(100%,440px);box-shadow:0 24px 64px -28px #1a2e2e73, 0 8px 24px -16px color-mix(in srgb, var(--page-teal) 35%, transparent);background:#fff;border-radius:24px;padding:40px 32px 34px;animation:.38s cubic-bezier(.22,1,.36,1) both contact-modal-pop;position:relative;overflow:hidden}.contact-success-modal__glow{background:radial-gradient(circle, color-mix(in srgb, var(--accent-green) 28%, transparent) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:220px;height:220px;position:absolute;top:-80px;left:50%;transform:translate(-50%)}.contact-success-modal__icon{width:72px;height:72px;color:var(--featured-green);margin:0 auto 20px;display:inline-flex;position:relative}.contact-success-modal__icon svg{width:100%;height:100%}.contact-success-modal__ring{stroke-dasharray:176;stroke-dashoffset:176px;animation:.55s .12s forwards contact-ring-draw}.contact-success-modal__check{stroke-dasharray:40;stroke-dashoffset:40px;animation:.35s .42s forwards contact-check-draw}.contact-success-modal__title{color:var(--page-teal);margin:0 0 12px;font-size:clamp(24px,4vw,28px);font-weight:600;line-height:1.2;position:relative}.contact-success-modal__message{color:#4d5a5c;max-width:32em;margin:0 auto 28px;font-size:16px;font-weight:400;line-height:1.6;position:relative}.contact-success-modal__button{background:var(--accent-green);color:#fff;cursor:pointer;box-shadow:0 12px 24px -14px color-mix(in srgb, var(--accent-green) 85%, transparent);border:none;border-radius:34px;padding:13px 36px;font-size:16px;font-weight:600;transition:transform .2s,background-color .2s,box-shadow .2s;position:relative}.contact-success-modal__button:hover{background:var(--featured-green);transform:translateY(-1px)}.contact-success-modal__button:active{transform:translateY(0)}@keyframes contact-reveal-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes contact-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes contact-modal-pop{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes contact-ring-draw{to{stroke-dashoffset:0}}@keyframes contact-check-draw{to{stroke-dashoffset:0}}.contact-reveal{animation:.55s both contact-reveal-up}.contact-reveal--delay-1{animation-delay:80ms}.contact-reveal--delay-2{animation-delay:.16s}@media (prefers-reduced-motion:reduce){.contact-reveal,.contact-success-modal__backdrop,.contact-success-modal__panel,.contact-success-modal__ring,.contact-success-modal__check,.contact-form__submit,.contact-success-modal__button{transition:none;animation:none}.contact-success-modal__ring,.contact-success-modal__check{stroke-dashoffset:0}.contact-form__submit:hover:not(:disabled),.contact-success-modal__button:hover{transform:none}}@media (max-width:640px){.contact-content{padding:36px 20px 72px}.contact-details,.contact-form-panel{padding:22px 18px 24px}.contact-form__submit{text-align:center;width:100%}}
