.sc-contact-form{position:relative;overflow:hidden;width:100%;margin:2.5rem 0;padding:2.5rem 1rem;background:linear-gradient(180deg,rgba(255,255,255,.96) 0,rgba(232,247,244,.96) 100%);border-top:1px solid var(--color-border-soft,#b4ddd9);border-bottom:1px solid var(--color-border-soft,#b4ddd9)}.sc-contact-form::after,.sc-contact-form::before{content:"";position:absolute;border-radius:999px;pointer-events:none}.sc-contact-form::before{top:-100px;right:-80px;width:280px;height:280px;background:radial-gradient(circle at center,rgba(20,136,186,.12) 0,rgba(20,136,186,0) 72%)}.sc-contact-form::after{bottom:-120px;left:-70px;width:240px;height:240px;background:radial-gradient(circle at center,rgba(15,138,124,.1) 0,rgba(15,138,124,0) 74%)}.sc-contact-form__inner{position:relative;z-index:1;max-width:760px;margin:0 auto}.sc-contact-form__title{margin:0 0 .5rem;font-size:clamp(1.5rem, 2.8vw, 2.1rem);line-height:1.18;color:var(--color-heading,#0e3350)}.sc-contact-form__intro{margin:0 0 1.75rem;font-size:1rem;line-height:1.7;color:var(--color-body-text,#2a5066)}.sc-contact-form__success{padding:1.5rem 1.75rem;background:var(--color-accent-emerald-050,#e0faee);border:1px solid rgba(12,184,110,.35);border-radius:.9rem;color:var(--color-accent-emerald-700,#0a7d4e);font-size:1.05rem;font-weight:600;line-height:1.5}.sc-contact-form__success[hidden]{display:none}.sc-contact-form__success p{margin:0}.sc-contact-form__form{padding:1.75rem;background:var(--color-surface-raised,#fff);border:1px solid var(--color-card-border,#c0e0e0);border-radius:1.1rem;box-shadow:var(--shadow-card,0 14px 30px -18px rgba(10,40,65,.34))}.sc-contact-form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.sc-contact-form__row{display:grid;grid-template-columns:1fr;gap:1.1rem;margin-bottom:1.1rem}.sc-contact-form__row:last-child{margin-bottom:0}.sc-contact-form__row--actions{align-items:flex-start;gap:.75rem;margin-top:.5rem}.sc-contact-form__group{display:flex;flex-direction:column}.sc-contact-form__group label{display:block;margin-bottom:.4rem;font-size:.93rem;font-weight:700;color:var(--color-body-text-strong,#1c3e52)}.sc-contact-form__required{margin-left:.15em;color:var(--color-accent-coral-500,#ed4872)}.sc-contact-form__form input[type=date],.sc-contact-form__form input[type=email],.sc-contact-form__form input[type=tel],.sc-contact-form__form input[type=text],.sc-contact-form__form select,.sc-contact-form__form textarea{display:block;width:100%;padding:.65rem .85rem;background:#fff;border:1.5px solid var(--color-border-soft,#b4ddd9);border-radius:.55rem;font-size:.97rem;line-height:1.5;color:var(--color-body-text-strong,#1c3e52);transition:border-color .18s ease,box-shadow .18s ease;box-sizing:border-box}.sc-contact-form__form input[type=date]:focus,.sc-contact-form__form input[type=email]:focus,.sc-contact-form__form input[type=tel]:focus,.sc-contact-form__form input[type=text]:focus,.sc-contact-form__form select:focus,.sc-contact-form__form textarea:focus{border-color:var(--color-accent-peacock-500,#1488ba);box-shadow:var(--focus-ring,0 0 0 3px rgba(12,110,100,.26));outline:0;color:var(--color-body-text-strong,#1c3e52)}.sc-contact-form__form input--invalid,.sc-contact-form__form textarea--invalid{border-color:var(--color-accent-coral-500,#ed4872)}.sc-contact-form__form input[aria-invalid=true],.sc-contact-form__form select[aria-invalid=true],.sc-contact-form__form textarea[aria-invalid=true]{border-color:var(--color-accent-coral-500,#ed4872);box-shadow:0 0 0 3px rgba(237,72,114,.18)}.sc-contact-form__form textarea{resize:vertical;min-height:120px}.sc-contact-form__form input[type=date]{font-family:inherit;-webkit-appearance:none;appearance:none}.sc-contact-form__form select{font-family:inherit;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-body-text,#2a5066) 50%),linear-gradient(135deg,var(--color-body-text,#2a5066) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 1px),calc(100% - 12px) calc(50% - 1px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.2rem}.sc-contact-form__required--date[hidden]{display:none}.sc-contact-form__group--date[hidden]{display:none}.sc-contact-form__error{display:block;margin-top:.3rem;font-size:.85rem;font-weight:600;color:var(--color-accent-coral-700,#c4264e);line-height:1.4}.sc-contact-form__error[hidden]{display:none}.sc-contact-form__form-error{padding:.65rem .9rem;background:var(--color-accent-coral-050,#ffebf0);border:1px solid rgba(237,72,114,.3);border-radius:.5rem;font-size:.9rem;font-weight:600;color:var(--color-accent-coral-700,#c4264e);line-height:1.45}.sc-contact-form__form-error[hidden]{display:none}.sc-contact-form__note{margin:0;font-size:.82rem;color:var(--color-body-text,#2a5066);opacity:.75}.sc-contact-form__submit{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.85rem 2rem;border:none;border-radius:999px;background:var(--gradient-button-primary,linear-gradient(135deg,#0a82a3 0,#0f9880 100%));color:var(--color-text-on-accent,#fff);font-size:1rem;font-weight:700;line-height:1.4;cursor:pointer;box-shadow:var(--shadow-accent-glow,0 18px 30px -22px rgba(10,82,115,.55));transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.sc-contact-form__submit:focus-visible,.sc-contact-form__submit:hover{background:var(--gradient-button-primary-hover,linear-gradient(135deg,#0895ba 0,#0cac92 100%));transform:translateY(-1px);box-shadow:var(--shadow-accent-glow,0 18px 30px -22px rgba(10,82,115,.55)),var(--focus-ring,0 0 0 3px rgba(12,110,100,.26));color:var(--color-text-on-accent,#fff)}.sc-contact-form__submit:focus-visible{outline:0}.sc-contact-form__submit:active{transform:translateY(0)}.sc-contact-form__submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.sc-contact-form__submit-sending{display:none}.sc-contact-form__submit[data-sending=true] .sc-contact-form__submit-label{display:none}.sc-contact-form__submit[data-sending=true] .sc-contact-form__submit-sending{display:inline}@media (min-width:600px){.sc-contact-form__row--split{grid-template-columns:1fr 1fr}.sc-contact-form__row--single{grid-template-columns:1fr}}@media (min-width:768px){.sc-contact-form{padding:3rem 1.5rem}.sc-contact-form__form{padding:2.25rem 2.5rem}}