.contact-page{min-height:100vh;overflow-x:hidden}.contact-hero,.contact-page{background:var(--lp-bg-light)}.contact-hero{border-bottom:1px solid var(--lp-border);overflow:hidden;padding:calc(var(--lp-topbar-height) + 1.5rem) 0 3.5rem;position:relative}.contact-hero:before{background:radial-gradient(70% 60% at 50% 0,#2d5f4c1f 0,#2d5f4c00 60%),linear-gradient(90deg,rgba(30,28,28,.05) 1px,transparent 0),linear-gradient(180deg,rgba(30,28,28,.05) 1px,transparent 0);background-size:72px 72px;content:"";inset:0;opacity:.5;pointer-events:none;position:absolute}.contact-hero-content{animation:reveal-up .7s cubic-bezier(.16,1,.3,1) both;margin:0 auto;max-width:820px;position:relative;text-align:center;z-index:1}.contact-hero-title{color:var(--lp-text-primary);font-size:clamp(2.25rem,5vw,3rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:1rem}.contact-hero-subtitle{color:var(--lp-text-secondary);font-size:1.1rem;line-height:1.7;margin:0 auto;max-width:640px}.contact-options-section{background:var(--lp-bg-white);padding:4rem 0}.contact-options-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.contact-option-card{background:var(--lp-bg-white);border:1px solid var(--lp-border);border-radius:16px;border-top:3px solid transparent;padding:2.5rem 2rem;text-align:center;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.contact-option-card:hover{border-color:var(--lp-primary);border-top-color:var(--lp-primary);box-shadow:var(--lp-shadow-lg);transform:translateY(-4px)}.contact-option-icon{align-items:center;background:#2d5f4c1f;border-radius:16px;color:var(--lp-primary);display:flex;height:64px;justify-content:center;margin:0 auto 1.5rem;width:64px}.contact-option-title{color:var(--lp-text-primary);font-size:1.2rem;font-weight:700;margin-bottom:.75rem}.contact-option-description{color:var(--lp-text-secondary);line-height:1.7;margin-bottom:1rem}.contact-option-link{color:var(--lp-primary);font-weight:600;text-decoration:none;transition:color .2s ease}.contact-option-link:hover{color:var(--lp-primary-dark)}.contact-option-address{color:var(--lp-text-secondary);font-style:normal;line-height:1.7}.contact-form-section{background:var(--lp-bg-light);padding:4rem 0 5rem}.contact-form-wrapper{background:var(--lp-bg-white);border:1px solid var(--lp-border);border-radius:18px;box-shadow:var(--lp-shadow-md);margin:0 auto;max-width:720px;padding:3rem}.contact-form-header{margin-bottom:2.5rem;text-align:center}.contact-form-title{color:var(--lp-text-primary);font-size:2rem;font-weight:700;margin-bottom:.75rem}.contact-form-subtitle{color:var(--lp-text-secondary);font-size:1.1rem;line-height:1.7}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.contact-form-row{display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.contact-form-field{display:flex;flex-direction:column;gap:.5rem}.contact-form-label{color:var(--lp-text-primary);font-size:.9rem;font-weight:600}.contact-form-input,.contact-form-textarea{background:var(--lp-bg-white);border:1px solid var(--lp-border);border-radius:10px;color:var(--lp-text-primary);font-family:inherit;font-size:1rem;padding:.875rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}.contact-form-input:focus,.contact-form-textarea:focus{border-color:var(--lp-primary);box-shadow:0 0 0 3px #2d5f4c26;outline:none}.contact-form-textarea{min-height:150px;resize:vertical}.contact-form-submit{background:var(--lp-primary);border:none;border-radius:10px;box-shadow:var(--lp-shadow-md);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:.5rem;padding:1rem 2rem;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.contact-form-submit:hover:not(:disabled){background:var(--lp-primary-dark);box-shadow:var(--lp-shadow-lg);transform:translateY(-1px)}.contact-form-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.contact-alert{border-radius:10px;font-size:.875rem;font-weight:500;padding:1rem 1.25rem}.contact-alert--success{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.contact-alert--error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}@media(max-width:768px){.contact-form-wrapper{padding:2rem 1.5rem}.contact-form-row{grid-template-columns:1fr}.contact-form-title{font-size:1.75rem}}
