.input-group{margin-bottom:1.5rem}.input-group .input-label{color:hsl(var(--foreground));margin-bottom:.5rem;font-weight:600;display:block}.input-group .input{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);inline-size:100%;color:hsl(var(--foreground));padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.input-group .input:focus{border-color:hsl(var(--primary));outline:none}.input-group .input::placeholder{color:hsl(var(--muted-foreground));opacity:.4}
.textarea-group{margin-bottom:1.5rem}.textarea-group .textarea-label{color:hsl(var(--foreground));margin-bottom:.5rem;font-weight:600;display:block}.textarea-group .textarea{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);max-block-size:240px;inline-size:100%;color:hsl(var(--foreground));resize:vertical;min-block-size:8rem;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.textarea-group .textarea:focus{border-color:hsl(var(--primary));outline:none}.textarea-group .textarea::placeholder{color:hsl(var(--muted-foreground));opacity:.4}
.contact-info{flex-direction:column;gap:2rem;display:flex}.contact-info .info-block h3{margin-bottom:1.5rem;font-size:1.5rem}.contact-info .info-block .info-item{align-items:flex-start;display:flex}.contact-info .info-block .info-item .icon{block-size:1.5rem;inline-size:1.5rem;color:hsl(var(--primary));flex-shrink:0;margin-top:.25rem;margin-right:1rem}.contact-info .info-block .info-item .info-label{margin-bottom:.25rem;font-weight:600}.contact-info .info-block .info-item a{color:hsl(var(--muted-foreground));transition:color .2s}.contact-info .info-block .info-item a:hover{color:hsl(var(--primary))}.contact-info .info-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.5rem}.contact-info .info-card h4{margin-bottom:1rem;font-size:1.25rem}.contact-info .info-card ul{margin:0;padding:0;list-style:none}.contact-info .info-card ul li{color:hsl(var(--muted-foreground));align-items:flex-start;margin-bottom:.75rem;display:flex}.contact-info .info-quote{background:linear-gradient(to bottom right,hsl(var(--primary)/.1),hsl(var(--secondary)/.1));border:1px solid hsl(var(--primary)/.2);border-radius:var(--radius);padding:1.5rem}.contact-info .info-quote p{text-align:center;margin:0;font-weight:600}
.toast{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);z-index:100;padding:1rem 1.5rem;animation:.3s ease-in-out slideIn;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.toast strong{color:hsl(var(--foreground));margin-bottom:.25rem;display:block}.toast p{color:hsl(var(--muted-foreground));margin:0;font-size:.875rem}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}
.contact-grid{inline-size:100%;max-inline-size:var(--medium-width);padding-inline:var(--spacing-small)}.contact-form{inline-size:100%;padding-inline:var(--spacing-small)}.contact-form button[type=submit]{width:100%}
