.lg { --ink:#1a1d3a; --violet:#5b5bd6; --violet-d:#4747b8; --tint:#eceeff; --line:#dfe2ee; --muted:#6b7090; --amber:#f2b84b;
        display:grid; grid-template-columns:1fr; min-height:calc(100vh - 64px); background:#f6f7fb; color:var(--ink);
        font-family:'Plus Jakarta Sans','Mulish',Arial,sans-serif; }
  .lg, .lg * { box-sizing:border-box; }

  /* left: illustration (desktop only, stays in view while the form scrolls) */
  .lg-art { display:none; background:var(--tint); }
  .lg-art-in { position:sticky; top:64px; min-height:calc(100vh - 64px); padding:56px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
  .lg-art img { width:100%; max-width:440px; height:auto; display:block; }
  .lg-art h2 { width:100%; max-width:440px; margin:36px 0 10px; font-size:28px; line-height:1.25; font-weight:800; }
  .lg-art p  { width:100%; max-width:440px; margin:0; color:var(--muted); line-height:1.6; }
  @media (min-width:992px) { .lg { grid-template-columns:5fr 6fr; } .lg-art { display:block; } }

  /* right: form card */
  .lg-main { display:flex; justify-content:center; padding:40px 20px 56px; }
  .lg-card { width:100%; max-width:660px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:32px; align-self:flex-start; }
  .lg-card h1 { margin:0 0 6px; font-size:28px; font-weight:800; }
  .lg-sub { margin:0 0 20px; color:var(--muted); line-height:1.6; }
  .lg-note { display:flex; align-items:center; gap:10px; margin-bottom:24px; padding:10px 14px; border-radius:6px; background:#fff7e3; border:1px solid #f2dca2; color:#7a5a05; font-size:14px; font-weight:500; }
  .lg-note svg { flex:0 0 auto; }

  .lg-row { display:grid; grid-template-columns:1fr; gap:0 16px; }
  @media (min-width:576px) { .lg-row { grid-template-columns:1fr 1fr; } }
  .lg-field { margin-bottom:18px; }
  .lg-field label { display:block; margin-bottom:6px; font-size:14px; font-weight:700; }
  .lg-hint { font-weight:500; color:var(--muted); margin-left:4px; }
  .lg .form-control { display:block; width:100%; height:46px; padding:0 14px; font:inherit; font-size:15px; color:var(--ink);
        background:#fff; border:1px solid var(--line); border-radius:6px; box-shadow:none; transition:border-color .15s, box-shadow .15s; }
  .lg textarea.form-control { height:auto; min-height:84px; padding:12px 14px; resize:vertical; }
  .lg select.form-control { appearance:none; -webkit-appearance:none; padding-right:38px;
        background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%236b7090' stroke-width='2'/></svg>") no-repeat right 14px center; }
  .lg .form-control:focus { outline:0; border-color:var(--violet); box-shadow:0 0 0 3px rgba(91,91,214,.18); }
  .lg .alert { margin:0 0 18px; padding:10px 14px; border-radius:6px; font-size:14px; border:1px solid var(--line); background:#fff; }
  .lg .alert.d-none { display:none; }
  .lg .alert-danger, .lg .alert-error { background:#fff1f0; border-color:#f3c1bc; color:#9b2c22; }
  .lg .alert-danger, .lg .alert-error { background:#fff1f0; border-color:#f3c1bc; color:#9b2c22; }
  .lg .alert-success { background:#effaf1; border-color:#b9e3c2; color:#1f6b33; }
  .lg .lg-btn { display:block; width:100%; height:50px; border:0; border-radius:6px; background:var(--violet); color:#fff;
        font:inherit; font-size:16px; font-weight:700; cursor:pointer; transition:background .15s; }
  .lg .lg-btn:hover { background:var(--violet-d); }
  .lg .lg-btn:disabled, .lg .lg-btn[disabled] { opacity:.65; cursor:not-allowed; pointer-events:none; }
  .lg-foot { margin:18px 0 0; text-align:center; font-size:14px; color:var(--muted); }
  .lg-foot a { color:var(--ink); font-weight:700; text-decoration:underline; }
  .lg a:focus-visible, .lg button:focus-visible { outline:3px solid var(--amber); outline-offset:2px; }
  @media (max-width:575.98px) { .lg-card { padding:24px 18px; } }
  .lg .text-danger { color:#dd4b39; }
  .lg label.help-block.alert-danger { background: unset !important; }
  .lg-feats { list-style:none; margin:28px 0 0; padding:0; width:100%; max-width:440px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .lg-feats li { display:flex; align-items:center; gap:10px; padding:10px 12px; background:#fff; border-radius:8px; font-size:14px; font-weight:600; }
  .lg-feats svg { width:20px; height:20px; flex:0 0 auto; color:var(--violet); fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
