.contact-hero{margin-top:clamp(6rem, 10vmax, 16rem);margin-bottom:clamp(2rem, 5vh, 4rem)}.contact-hero .contact-container{max-width:clamp(640px, 45vw, 820px);margin:0 auto;padding:2rem 2rem 0 2rem}.contact-hero .contact-container .contact-page-title{font-size:clamp(1.5625rem, 2.5vw, 3.81469727rem);color:var(--primary-color);margin-bottom:1.5rem;line-height:1.1}.contact-hero .contact-container .contact-page-title h1{font-size:clamp(1rem, 1.5vw, 1.5625rem);color:var(--primary-color);margin-bottom:1.5rem}.contact-hero .contact-container .contact-intro{font-size:clamp(.9rem, 1vw, 1.25rem);line-height:1.75;color:var(--text-color)}.contact-form-section{padding:0 0 0;margin-bottom:clamp(6rem, 10vmax, 16rem)}.contact-form-section .contact-container{max-width:clamp(640px, 45vw, 820px);margin:0 auto;padding:0 2rem}.form-wrapper{background:var(--bg-color);border-radius:.25rem;padding:clamp(2rem, 5vw, 4rem);box-shadow:var(--glow);position:relative}@media (min-width: 768px){.form-wrapper{padding:4rem}}.form-header{margin-bottom:3rem;text-align:center}.form-header .form-heading{font-size:clamp(1rem, 1.5vw, 1.5625rem);color:var(--primary-color);margin-bottom:1rem}.form-header .form-subheading{font-size:clamp(.8rem, 1vw, 1rem);color:var(--text-color);line-height:1.5}.contact-form{display:flex;flex-direction:column;gap:2rem}.contact-form.form-submitting{pointer-events:none;opacity:0.6}.contact-form.form-hidden{display:none}.form-group{display:flex;flex-direction:column;gap:.75rem;position:relative}.form-group.has-error .form-input,.form-group.has-error .form-textarea,.form-group.has-error .form-select{border-color:#DC2626}.form-group.has-error .form-input:focus,.form-group.has-error .form-textarea:focus,.form-group.has-error .form-select:focus{border-color:#DC2626;box-shadow:0 0 0 3px rgba(220,38,38,0.1)}.form-group.has-error .form-error{display:block}.form-group.is-valid .form-input,.form-group.is-valid .form-textarea,.form-group.is-valid .form-select{border-color:#16A34A}.form-label{font-size:clamp(.8rem, 1vw, 1rem);font-weight:400;color:var(--text-color)}.form-label .required-indicator{color:#DC2626;margin-left:.25rem}.form-input,.form-textarea,.form-select{font-family:'Exo 2', sans-serif;font-size:clamp(.8rem, 1vw, 1rem);font-weight:300;padding:1rem 1.5rem;border:1px solid var(--primary-color);border-radius:.25rem;background:var(--bg-color);color:var(--text-color);transition:border-color .3s ease,box-shadow .3s ease}.form-input::placeholder,.form-textarea::placeholder,.form-select::placeholder{color:var(--text-color);opacity:0.5}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px rgba(59,130,246,0.1)}.dark-theme .form-input:focus,.dark-theme .form-textarea:focus,.dark-theme .form-select:focus{box-shadow:0 0 0 3px rgba(107,133,201,0.15)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{opacity:0.5;cursor:not-allowed}.form-textarea{resize:vertical;min-height:120px;line-height:1.75}.form-error{display:none;font-size:clamp(.512rem, 0.5vw, .8rem);color:#DC2626;font-weight:400}.char-counter{font-size:clamp(.512rem, 0.5vw, .8rem);color:var(--text-color);opacity:0.6;text-align:right;margin-top:.25rem}.char-counter .char-count{font-weight:500}.char-counter .char-count.char-warning{color:#F59E0B}.char-counter .char-count.char-limit{color:#DC2626}.submit-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:var(--secondary-color);color:var(--light-bg);border:none;border-radius:.25rem;font-family:'Exo 2', sans-serif;font-weight:600;font-variant-caps:small-caps;cursor:pointer;position:relative;overflow:hidden;text-decoration:none;transition:all .3s ease}.submit-button::before{content:'';position:absolute;top:-50%;left:-150%;width:60%;height:200%;background:linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.15) 40%, rgba(255,255,255,0.35) 50%, rgba(255,255,255,0.15) 60%, transparent 100%);transform:skewX(-20deg);transition:left .4s cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.submit-button:hover::before{left:150%}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:0.6;cursor:not-allowed}.submit-button{font-size:clamp(1rem, 1vw, 1.25rem);align-self:center}@media (min-width: 426px){.submit-button{align-self:flex-end}}.submit-button.is-loading .button-text,.submit-button.is-loading .button-icon{opacity:0}.submit-button.is-loading .button-loader{display:block}.submit-button .button-text{transition:opacity .3s ease}.submit-button .button-icon{height:1.125rem;width:auto;transform:translateY(13.5%);transition:opacity .3s ease}.submit-button .button-loader{display:none;position:absolute;width:1.125rem;height:1.125rem;border:2px solid transparent;border-top-color:var(--bg-color);border-radius:50%;animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.success-message{display:none;text-align:center;padding:3rem}.success-message.show{display:block;animation:fadeInUp .5s cubic-bezier(0.4, 0, 0.2, 1)}.success-message .success-icon{margin-bottom:1.5rem}.success-message .success-icon svg{width:64px;height:64px;color:#16A34A}.success-message .success-heading{font-size:clamp(1rem, 1.25vw, 1.953125rem);color:var(--primary-color);margin-bottom:1rem;line-height:1.1}.success-message .success-text{font-size:clamp(.8rem, 1vw, 1.25rem);color:var(--text-color);line-height:1.75;margin-bottom:1rem}.success-message .success-subtext{font-size:clamp(.8rem, 1vw, 1rem);color:var(--text-color);opacity:0.7;line-height:1.5}@keyframes fadeInUp{from{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}

/*# sourceMappingURL=contact.css.map */