.contact-form--light{background-color:var(--bg-light)}.contact-form--dark{background-color:var(--bg-dark);background-image:radial-gradient(ellipse 70% 50% at 50% 0%,var(--primary-trans20) 0%,transparent 65%);background-size:auto}.contact-form__inner{max-width:780px;margin-inline:auto}.contact-form__header{text-align:center;margin-bottom:var(--gap-l)}.contact-form__label{font-family:var(--font-heading);font-size:var(--h6);font-weight:var(--weight-7);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--primary);margin-bottom:var(--gap-xs)}.contact-form--dark .contact-form__label{color:var(--accent)}.contact-form__heading{font-family:var(--font-heading);font-size:var(--h2);font-weight:var(--weight-heading);line-height:var(--leading-heading);color:var(--text);margin-bottom:var(--gap-xs)}.contact-form--dark .contact-form__heading{color:var(--text-on-dark)}.contact-form__sub{font-family:var(--font-base);font-size:var(--text-s);line-height:var(--leading-body);color:var(--text-muted)}.contact-form--dark .contact-form__sub{color:var(--text-light)}.contact-form__card{background:var(--bg-white);border-radius:var(--radius-xl);padding:var(--padding-l);box-shadow:var(--shadow-4);border:1px solid var(--neutral-light-1)}.contact-form--dark .contact-form__card{box-shadow:var(--shadow-4),0 0 80px var(--primary-trans20);border-color:var(--white-20)}.contact-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-xs);margin-bottom:var(--gap-xs)}.contact-form__field{display:flex;flex-direction:column;gap:var(--gap-xs)}.contact-form__field--full{grid-column:1 / -1}.contact-form__field label{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:var(--weight-6);color:var(--text)}.contact-form__field textarea{resize:vertical;min-height:120px}.contact-form__actions{display:flex;flex-direction:column;gap:var(--gap-xs);margin-top:var(--gap-m)}.contact-form__submit{width:100%;padding-block:var(--padding-s);font-family:var(--font-heading);font-size:var(--text-xs);font-weight:var(--weight-7);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--primary-light-2);background:var(--gradient-primary);border:none;border-radius:var(--radius-pill);cursor:pointer;box-shadow:0 4px 16px var(--primary-trans30);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.contact-form__submit:hover{box-shadow:0 8px 28px var(--primary-trans40);transform:translateY(-2px)}.contact-form__whatsapp{display:flex;align-items:center;justify-content:center;width:100%;padding-block:var(--padding-s);font-family:var(--font-heading);font-size:var(--text-xs);font-weight:var(--weight-7);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--white);background:#25d366;border-radius:var(--radius-pill);text-decoration:none;box-shadow:0 4px 16px #31aa404d;transition:background var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.contact-form__whatsapp:hover{background:#1ebe5d;box-shadow:0 8px 24px #31aa4066;transform:translateY(-2px)}.contact-form__divider{display:flex;align-items:center;gap:var(--gap-xs);color:var(--text-muted);font-family:var(--font-base);font-size:var(--text-xs)}.contact-form__divider:before,.contact-form__divider:after{content:"";flex:1;height:1px;background:var(--border)}.contact-form__success{text-align:center;padding:var(--padding-l)}.contact-form__success-icon{width:3rem;height:3rem;color:var(--accent);margin-inline:auto;margin-bottom:var(--gap-xs)}.contact-form__success-heading{font-family:var(--font-heading);font-size:var(--h3);font-weight:var(--weight-heading);color:var(--text);margin-bottom:var(--gap-xs)}.contact-form__success-body{font-family:var(--font-base);font-size:var(--text-m);color:var(--text-muted)}.contact-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form__error{margin-top:var(--gap-s);color:var(--error);font-family:var(--font-base);font-size:var(--text-s);font-weight:var(--weight-6)}@media(max-width:768px){.contact-form__grid{grid-template-columns:1fr}}
