:root { --brand: #085FD7; --brand-dark: #212631; }
html, body { margin: 0; padding: 0; font-family: Helvetica, Arial, sans-serif; background: #fff; }
.landing { display: flex; min-height: 100vh; }
.hero {
    position: relative; flex: 1 1 50%; color: #fff;
    background: url('../images/pane_forno.jpg') center/cover no-repeat;
    display: flex; align-items: center;
}
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(8,95,215,.88), rgba(33,38,49,.9)); }
.hero-content { position: relative; padding: 2.5vh 4vw; max-width: 640px; }
.badge-new { display: inline-block; background: #fff; color: var(--brand); font-weight: 700; text-transform: uppercase;
    letter-spacing: .08em; font-size: .75rem; padding: .3rem .8rem; border-radius: 2rem; }
.hero h1 { font-size: clamp(1.8rem, 4vw, 3.2rem); font-weight: 800; margin: 1.2vh 0; }
.hero .lead { font-size: clamp(.95rem, 1.5vw, 1.15rem); }
.features { list-style: none; padding: 0; margin: 2vh 0; }
.features li { padding-left: 1.6rem; position: relative; margin-bottom: .6vh; font-size: clamp(.85rem, 1.3vw, 1rem); }
.features li::before { content: "✓"; position: absolute; left: 0; color: #ffd36b; font-weight: 700; }
.note { font-size: .85rem; border-left: 3px solid #ffd36b; padding-left: .7rem; opacity: .95; }
.form-panel { flex: 1 1 50%; padding: 2vh 3.5vw; display: flex; flex-direction: column; justify-content: center; background: #fff; }
.form-panel h2 { color: var(--brand); font-weight: 800; margin: 0; font-size: clamp(1.4rem, 2.5vw, 2rem); }
.form-panel .sub { color: #666; margin-bottom: 1.2vh; }
.form-panel label { font-size: .82rem; color: #333; }
.btn-cta { background: var(--brand); color: #fff; font-weight: 700; padding: .55rem 1.4rem; }
.btn-cta:hover { background: var(--brand-dark); color: #fff; }
.g-recaptcha { transform: scale(.9); transform-origin: left center; }
@media (min-width: 992px) { html, body { height: 100%; overflow: hidden; } .landing { height: 100vh; } .form-panel { overflow-y: auto; } }
@media (max-width: 991px) { .landing { flex-direction: column; } .hero { padding: 2rem 0; } .form-panel { padding: 1.5rem; } }
.form-section { border: 1px solid #eee; border-radius: .4rem; padding: .6rem .9rem .1rem; margin-bottom: .8rem; background: #f4f8fe; }
.form-section legend { font-size: .85rem; font-weight: 700; color: var(--brand); width: auto; padding: 0 .4rem; margin-bottom: .3rem; }
.form-panel .form-group { margin-bottom: .5rem; }
.status-icon { max-height: 22vh; max-width: 40%; margin-bottom: 2vh; }
