html, body { height: 100%; }
body { background: linear-gradient(180deg, #fff7e8 0%, #e8fbff 60%, #f3e8ff 100%); }
.page-main { padding: 96px 24px 160px; max-width: 1100px; margin: 0 auto; position: relative; z-index: 1; }
.cta { background: #ffffffcc; border-radius: 14px; padding: 18px; margin-bottom: 18px; }
.form { background: #ffffff; border-radius: 14px; padding: 18px; box-shadow: 0 8px 24px rgba(0,0,0,0.06); }
.form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form label { display: block; font-weight: 600; margin: 8px 0 4px; }
.form input, .form textarea { width: 100%; padding: 10px 12px; border: 1px solid #e5e7eb; border-radius: 10px; font-family: inherit; }
.form button { margin-top: 12px; padding: 10px 16px; border: none; border-radius: 999px; background: linear-gradient(135deg, #ff956b, #ffd29d); color: #242424; font-weight: 700; }
.contact-info { margin-top: 18px; }
.contact-info .item { display: flex; align-items: center; gap: 8px; padding: 6px 0; }
.curve-bg { position: fixed; top: 0; left: 0; width: 100%; height: 320px; z-index: 0; pointer-events: none; }
.curve-svg { width: 100%; height: 100%; display: block; }
.layer1 { fill: rgba(255, 149, 107, 0.6); animation: curveMove 18s linear infinite; }
.layer2 { fill: rgba(99, 102, 241, 0.45); animation: curveMove 24s linear infinite reverse; }
@keyframes curveMove { 0% { transform: translateX(0); } 100% { transform: translateX(-100px); } }