.ilc-lf, .ilc-lf *, .ilc-lf *::before, .ilc-lf *::after { box-sizing: border-box; }
.ilc-lf {
	--blue:#1a6fc4; --blue-dark:#14559a; --blue-deep:#0f4275; --navy:#0d2a4a;
	--tint:#eef4fb; --tint-2:#f7fafd; --ink:#16202b; --body:#46586c; --muted:#6b7c90; --line:#e2e9f2;
	position: relative; background:#fff; color:var(--body); border-radius:24px;
	padding: clamp(26px,3vw,38px); box-shadow: 0 40px 90px rgba(3,14,28,.45);
	font-family: "Montserrat","Segoe UI",Arial,sans-serif; font-size:16px; line-height:1.6;
	scroll-margin-top: 100px;
}
.ilc-lf::before { content:""; position:absolute; left:28px; right:28px; top:0; height:4px; border-radius:0 0 6px 6px; background:linear-gradient(90deg,var(--blue),#5aa9ee); }
.ilc-lf::after { content:""; position:absolute; inset:-14px -14px 14px 14px; border-radius:30px; border:1.5px solid rgba(255,255,255,.28); z-index:-1; pointer-events:none; }
.ilc-lf h2, .ilc-lf h3, .ilc-lf h4 { font-family:"Poppins","Segoe UI",Arial,sans-serif; color:var(--ink); letter-spacing:-.01em; line-height:1.25; margin:0 0 8px; }
.ilc-lf-title { font-size:clamp(22px,2.2vw,27px); font-weight:700; }
.ilc-lf-sub { font-size:14.5px; color:var(--muted); margin:0 0 22px; }

.ilc-lf-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ilc-lf-full { grid-column:1 / -1; }
.ilc-lf-field label { display:block; font-size:12.5px; font-weight:600; color:var(--navy); margin:0 0 6px; }
.ilc-lf-field label i { color:#d64545; font-style:normal; }
.ilc-lf-input { position:relative; }
.ilc-lf-input > svg { position:absolute; left:14px; top:15px; width:17px; height:17px; fill:none; stroke:#8ea2b8; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; transition:stroke .2s; }
.ilc-lf-input:focus-within > svg { stroke:var(--blue); }
.ilc-lf-field input, .ilc-lf-field textarea {
	width:100%; font-family:inherit; font-size:15px; color:var(--ink); background:var(--tint-2);
	border:1.5px solid var(--line); border-radius:12px; padding:13px 14px 13px 42px; margin:0;
	box-shadow:none; transition:border-color .2s, box-shadow .2s, background-color .2s;
}
.ilc-lf-field textarea { padding-left:14px; min-height:92px; resize:vertical; }
.ilc-lf-field input::placeholder, .ilc-lf-field textarea::placeholder { color:#9aa9ba; }
.ilc-lf-field input:focus, .ilc-lf-field textarea:focus { outline:none; background:#fff; border-color:var(--blue); box-shadow:0 0 0 4px rgba(26,111,196,.14); }
.ilc-lf-field input.is-bad { border-color:#d64545; }
.ilc-lf-hp { position:absolute !important; left:-9999px !important; width:0; height:0; opacity:0; }

.ilc-lf-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100%; font-family:inherit; font-size:15.5px; font-weight:600; line-height:1; padding:17px 28px; border-radius:999px; border:2px solid transparent; text-decoration:none; cursor:pointer; position:relative; overflow:hidden; transition:background-color .2s, transform .2s, box-shadow .2s; }
.ilc-lf-btn span { position:relative; z-index:1; }
.ilc-lf-btn::before { content:""; position:absolute; top:0; left:-75%; width:45%; height:100%; background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.32) 50%,rgba(255,255,255,0)); transform:skewX(-18deg); transition:left .55s; }
.ilc-lf-btn:hover::before { left:125%; }
.ilc-lf-btn-primary { background:var(--blue); color:#fff; box-shadow:0 10px 26px rgba(26,111,196,.3); }
.ilc-lf-btn-primary:hover { background:var(--blue-dark); color:#fff; transform:translateY(-2px); }
.ilc-lf-btn-outline { background:#fff; color:var(--blue-deep); border-color:var(--blue); box-shadow:none; }
.ilc-lf-btn-outline:hover { background:var(--tint); color:var(--blue-deep); transform:translateY(-2px); }
.ilc-lf-submit { margin-top:18px; padding:18px 28px; font-size:16px; }
.ilc-lf-submit[disabled] { opacity:.75; cursor:progress; transform:none; }
.ilc-lf-submit.is-loading span::after { content:""; display:inline-block; width:15px; height:15px; margin-left:10px; vertical-align:-2px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:ilc-lf-spin .7s linear infinite; }
@keyframes ilc-lf-spin { to { transform:rotate(360deg); } }

.ilc-lf-msg { margin:0; font-size:14px; }
.ilc-lf-msg.is-error { margin-top:14px; color:#b3261e; background:#fdecea; border-radius:10px; padding:10px 14px; }
.ilc-lf-fine { margin:14px 0 0; font-size:12.5px; color:var(--muted); display:flex; align-items:center; gap:8px; justify-content:center; text-align:center; }
.ilc-lf-fine svg { width:14px; height:14px; flex:0 0 14px; fill:none; stroke:var(--blue); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* Thank-you state */
.ilc-lf-thanks { display:none; text-align:center; }
.ilc-lf.is-done .ilc-lf-thanks { display:block; animation:ilc-lf-in .6s ease both; }
.ilc-lf.is-done .ilc-lf-wrap { display:none; }
@keyframes ilc-lf-in { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
.ilc-lf-check { width:68px; height:68px; margin:0 auto 18px; border-radius:50%; background:var(--tint); color:var(--blue); display:flex; align-items:center; justify-content:center; }
.ilc-lf-check svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.ilc-lf-thanks h3 { font-size:23px; }
.ilc-lf-thanks h4 { font-size:16px; margin:22px 0 14px; }
.ilc-lf-thanks p { margin:0 0 14px; }
.ilc-lf-thanks .ilc-lf-btn { margin-bottom:12px; }
.ilc-lf-closing { font-size:14px; color:var(--muted); margin:8px 0 0 !important; }

@media (max-width:1024px) { .ilc-lf::after { display:none; } .ilc-lf { box-shadow:0 24px 60px rgba(3,14,28,.35); } }
@media (max-width:720px) { .ilc-lf-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .ilc-lf *, .ilc-lf::before { animation:none !important; transition-duration:.001ms !important; } }
