.contact-page *,.contact-page :before,.contact-page :after{box-sizing:border-box}.contact-page{padding-top:3.5rem;padding-bottom:.35rem}.contact-section{width:100%}.contact-container{grid-template-columns:1fr 1.25fr;align-items:start;gap:2.5rem;max-width:1140px;margin:0 auto;display:grid}.contact-info{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.contact-info h1{color:#0f172a;margin:0;font-size:2.5rem;font-weight:800;line-height:1.1}.contact-description{color:#5f6773;margin:0 0 .5rem;font-size:1.05rem;line-height:1.5}.contact-cards{flex-direction:column;gap:1rem;margin-left:-.5rem;display:flex}.info-card{-webkit-backdrop-filter:blur(12px);background:#ffffffbf;border:1px solid #0f172a12;border-radius:18px;padding:1.2rem 1.35rem;box-shadow:0 6px 20px #0f172a08}.info-card h3{color:#1e293b;margin:0 0 .35rem;font-size:1.1rem;font-weight:700}.info-card p{color:#64748b;margin:0;font-size:.93rem;line-height:1.45}.info-card--social{background:linear-gradient(135deg,#f8fafce6,#f1f5f9bf);border:1px solid #0f172a17;justify-content:space-between;align-items:center;padding:1rem 1.35rem;display:flex}.info-social-label{text-transform:uppercase;letter-spacing:.06em;color:#475569;font-size:.88rem;font-weight:700}.social-links{align-items:center;gap:.75rem;display:flex}.social-link{color:#0f172a;background:#fff;border:1px solid #0f172a1a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .25s,color .25s,transform .25s,box-shadow .25s;display:inline-flex;box-shadow:0 2px 6px #0f172a0a}.social-link:hover{color:#fff;background:#0f172a;transform:translateY(-2px);box-shadow:0 6px 14px #0f172a26}.contact-form-wrapper{-webkit-backdrop-filter:blur(16px);background:#ffffffeb;border:1px solid #0f172a14;border-radius:24px;width:100%;padding:2.25rem;position:relative;overflow:hidden;box-shadow:0 16px 36px #0f172a0d}.contact-form{flex-direction:column;gap:1.25rem;width:100%;transition:opacity .4s,transform .4s;display:flex}.contact-form-wrapper.is-submitted .contact-form{opacity:0;pointer-events:none;transform:scale(.96)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;width:100%;display:grid}.form-group{flex-direction:column;gap:.45rem;width:100%;min-width:0;display:flex}.form-group label{color:#1e293b;font-size:.88rem;font-weight:600}.form-group input,.form-group textarea{width:100%;min-width:0;font:inherit;color:#0f172a;background:#fffffffa;border:1px solid #0f172a1f;border-radius:12px;padding:.8rem 1rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s,background-color .2s;box-shadow:inset 0 1px 2px #0f172a08}.form-group input::placeholder,.form-group textarea::placeholder{color:#94a3b8}.form-group input:focus,.form-group textarea:focus{background:#fff;border-color:#0f172a;outline:none;box-shadow:0 0 0 3px #0f172a1a}.form-group textarea{resize:vertical;min-height:130px}.form-action{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.submit-btn{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:999px;justify-content:center;align-items:center;width:100%;padding:.95rem 1.75rem;font-size:1rem;font-weight:700;transition:background-color .2s,transform .2s,box-shadow .2s;display:flex;position:relative}.submit-btn:hover{background:#1e293b;transform:translateY(-1px);box-shadow:0 8px 20px #0f172a26}.submit-btn:disabled{cursor:not-allowed;opacity:.85}.btn-text{transition:opacity .2s}.submit-btn.is-loading .btn-text{opacity:0}.btn-loader{opacity:0;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;transition:opacity .2s;position:absolute}.submit-btn.is-loading .btn-loader{opacity:1;animation:.8s linear infinite spin}.form-error{color:#dc2626;text-align:center;min-height:1.2rem;margin:0;font-size:.88rem;font-weight:600}.success-state{text-align:center;opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:2.5rem;transition:opacity .4s .1s,transform .4s .1s;display:flex;position:absolute;inset:0;transform:scale(.95)}.contact-form-wrapper.is-submitted .success-state{opacity:1;pointer-events:auto;transform:scale(1)}.svg-container{width:72px;height:72px;margin-bottom:1rem}.ft-green-tick{width:100%;height:100%}.ft-green-tick .circle{stroke-dasharray:140;stroke-dashoffset:140px;transition:stroke-dashoffset .6s cubic-bezier(.65,0,.45,1) .2s}.ft-green-tick .tick{stroke-dasharray:30;stroke-dashoffset:30px;transition:stroke-dashoffset .4s cubic-bezier(.65,0,.45,1) .7s}.contact-form-wrapper.is-submitted .ft-green-tick .circle,.contact-form-wrapper.is-submitted .ft-green-tick .tick{stroke-dashoffset:0}.success-state h2{color:#0f172a;margin:0 0 .5rem;font-size:1.75rem;font-weight:800}.success-state p{color:#64748b;max-width:38ch;margin:0 0 1.5rem;font-size:.98rem;line-height:1.5}.reset-btn{color:#0f172a;cursor:pointer;background:0 0;border:1px solid #0f172a26;border-radius:999px;padding:.65rem 1.4rem;font-size:.9rem;font-weight:600;transition:all .2s}.reset-btn:hover{background:#0f172a0d}.contact-form-wrapper.has-error{animation:.4s ease-in-out shake}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media (width<=960px){.contact-page{padding-top:5rem}.contact-container{grid-template-columns:1fr;gap:2rem}.contact-info h1{font-size:2rem}}@media (width<=640px){.contact-page{padding-top:2.5rem}.contact-cards{margin-left:0}.contact-info h1{text-align:center;font-size:2rem}.contact-description{text-align:center;padding:0 .75rem}.contact-form-wrapper{border-radius:18px;padding:1.25rem}.form-grid{grid-template-columns:1fr;gap:1rem}.info-card--social{text-align:center;flex-direction:column;align-items:center;gap:.75rem}}
