.hero {
    position: relative;
    padding: 160px 0 70px;
    overflow: hidden;
    background: #fafafa;
}
.hero-grid {
    position: absolute; inset: 0;
    background-image: linear-gradient(rgba(0,0,0,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,0,0,.04) 1px, transparent 1px);
    background-size: 48px 48px;
}
.hero-light {
    position: absolute; width: 420px; height: 420px; border-radius: 50%;
    background: radial-gradient(circle, rgba(255,101,0,.16), transparent 70%);
    pointer-events: none; transform: translate(-50%, -50%);
}
.hero-kicker {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: "DM Mono", monospace; font-size: .62rem;
    letter-spacing: .14em; color: var(--orange); margin-bottom: 18px;
}
.kicker-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }
.hero h1 { font-size: clamp(2.6rem, 6vw, 4.6rem); line-height: .95; }
.hero .orange { color: var(--orange); }
.hero-description { max-width: 560px; color: #707070; margin-top: 18px; line-height: 1.8; }
.contact-wrap { padding: 20px 0 110px; background: #fff; }
.contact-card {
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 22px;
    padding: 32px;
    box-shadow: 0 24px 60px rgba(0,0,0,.05);
}
.contact-error {
    background: #fff4f2;
    border: 1px solid #f0d0c8;
    color: #9a2b1a;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: .85rem;
    margin-bottom: 18px;
}
label.field {
    display: block;
    font-size: .72rem;
    font-weight: 600;
    margin-bottom: 7px;
    color: #333;
}
.contact-card .form-control {
    border: 1px solid #e4e4e4;
    border-radius: 10px;
    min-height: 48px;
    padding: 12px 14px;
    font-size: .9rem;
}
.contact-card textarea.form-control { min-height: 160px; }
.contact-card .form-control:focus {
    border-color: var(--orange);
    box-shadow: 0 0 0 3px rgba(255,101,0,.1);
}
@media (max-width: 575px) {
    .hero { padding-top: 130px; }
    .contact-card { padding: 22px 18px; }
}
