.contact-page{max-width:var(--container,1100px);margin:0 auto;padding:40px 24px;min-height:calc(100vh - var(--header-h,64px));display:flex;flex-direction:column;justify-content:center;}
.contact-header{text-align:center;margin-bottom:48px;}
.section-badge{display:inline-block;padding:6px 14px;background:var(--color-primary-soft);color:var(--color-primary);border:1px solid var(--color-primary-border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;margin-bottom:16px;}
.contact-header h1{font-size:3rem;font-weight:800;color:var(--color-text);margin:0 0 16px;line-height:1.1;letter-spacing:-1px;}
.contact-subtitle{font-size:var(--text-lg);color:var(--color-text-2);max-width:600px;margin:0 auto;line-height:1.6;}

.contact-wrapper{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;align-items:center;}

.contact-info h2{font-size:1.8rem;font-weight:700;color:var(--color-text);margin:0 0 12px;}
.info-intro{font-size:var(--text-md);color:var(--color-text-2);line-height:1.6;margin:0 0 28px;}

.info-cards{display:flex;flex-direction:column;gap:14px;}
.info-card{display:flex;align-items:center;gap:16px;padding:18px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--t-base);}
.info-card:hover{border-color:var(--color-primary-border);box-shadow:var(--shadow-sm);transform:translateY(-2px);}
.info-icon{width:44px;height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-soft);border-radius:var(--radius-md);font-size:20px;}
.info-text h3{font-size:var(--text-md);font-weight:600;color:var(--color-text);margin:0 0 4px;}
.info-text p{font-size:var(--text-base);color:var(--color-text-2);margin:0;}

.contact-form{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm);}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--color-text);margin-bottom:8px;}
.form-group input,.form-group textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:var(--text-md);font-family:inherit;transition:all var(--t-base);}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-3);}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-soft);}
.form-group textarea{resize:vertical;min-height:100px;}

.submit-btn{width:100%;justify-content:center;padding:14px;font-size:var(--text-md);margin-top:8px;}
.submit-btn .btn-arrow{transition:transform var(--t-base);}
.submit-btn:hover .btn-arrow{transform:translateX(4px);}
.submit-btn:disabled{opacity:0.7;cursor:not-allowed;}

.form-status{margin-top:14px;padding:12px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;text-align:center;display:none;}
.form-status:not(:empty){display:block;}
.form-status.loading{background:var(--color-primary-soft);color:var(--color-primary);}
.form-status.success{background:rgba(22,163,74,.1);color:#16a34a;}
.form-status.error{background:rgba(220,38,38,.1);color:#dc2626;}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease;}
.reveal.revealed{opacity:1;transform:translateY(0);}

@media (max-width:768px){
.contact-page{padding:30px 20px;min-height:auto;}
.contact-header{margin-bottom:32px;}
.contact-header h1{font-size:2.2rem;}
.contact-wrapper{grid-template-columns:1fr;gap:28px;}
.contact-form{padding:22px;}
}

@media (max-width:480px){
.contact-page{padding:24px 16px;}
.contact-header h1{font-size:1.8rem;}
.info-card{padding:14px;gap:12px;}
.info-icon{width:38px;height:38px;min-width:38px;font-size:18px;}
}