.hero { padding: 160px 24px 80px; text-align: center; background: linear-gradient(180deg, var(--color-primary-surface) 0%, var(--color-surface) 100%); } .title { font-size: 48px; font-weight: 700; margin-bottom: 16px; } .subtitle { font-size: 20px; color: var(--color-text-secondary); } .content { max-width: var(--max-width); margin: 0 auto; padding: 80px 24px; display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 64px; } /* ---- Form ---- */ .form { display: flex; flex-direction: column; gap: 20px; } .label { font-size: 14px; font-weight: 500; color: var(--color-text-secondary); margin-bottom: 6px; display: block; } .input { width: 100%; padding: 12px 16px; font-size: 15px; font-family: var(--font-family); border: 1px solid var(--color-border); border-radius: var(--radius-sm); outline: none; transition: border-color 0.2s; } .input:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-surface); } .textarea { width: 100%; padding: 12px 16px; font-size: 15px; font-family: var(--font-family); border: 1px solid var(--color-border); border-radius: var(--radius-sm); outline: none; min-height: 140px; resize: vertical; transition: border-color 0.2s; } .textarea:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-surface); } .submitBtn { background: var(--color-primary); color: #fff; border: none; border-radius: var(--radius-sm); padding: 14px 32px; font-size: 16px; font-weight: 600; transition: all 0.2s; align-self: flex-start; } .submitBtn:hover { background: var(--color-primary-dark); box-shadow: var(--shadow-primary); } .successMsg { font-size: 15px; color: var(--color-success); font-weight: 500; } /* ---- Info ---- */ .info { display: flex; flex-direction: column; gap: 40px; } .infoCard { display: flex; gap: 16px; } .infoIcon { width: 48px; height: 48px; border-radius: 14px; background: var(--color-primary-surface); display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; } .infoTitle { font-size: 16px; font-weight: 600; margin-bottom: 4px; } .infoText { font-size: 15px; color: var(--color-text-secondary); } @media (max-width: 768px) { .title { font-size: 32px; } .content { grid-template-columns: 1fr; gap: 48px; } }