:root{
  --bg:#0f1115;
  --panel:#11131a;
  --field-bg:#ffffff;
  --ink:#16181d;
  --ink-soft:#5d6470;
  --line:#e6e8ee;
  --brand:#ff5722;
  --brand-2:#ffa000;
  --mint:#7bdcb5;
  --paper:#f6f5f1;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Sora",sans-serif;background:var(--paper);color:var(--ink);line-height:1.6}

.shell{display:flex;min-height:100vh}

/* ===================== LEFT PANEL ===================== */
.left{
  position:sticky;top:0;height:100vh;
  flex:0 0 42%;max-width:520px;
  background:radial-gradient(120% 120% at 0% 0%, #1b1f2a 0%, #0d0f14 60%);
  color:#fff;
  padding:54px 50px;
  display:flex;flex-direction:column;
  overflow:hidden;
}
.left::before{
  content:"";position:absolute;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,87,34,.5), transparent 65%);
  top:-120px;right:-120px;filter:blur(20px);
}
.left::after{
  content:"";position:absolute;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle, rgba(123,220,181,.28), transparent 65%);
  bottom:-140px;left:-100px;filter:blur(20px);
}
.brand{display:flex;align-items:center;position:relative;z-index:2}
.brand img{width:200px;height:auto;object-fit:contain;display:block}

.left-mid{position:relative;z-index:2;margin-top:auto}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;
  color:var(--brand-2);background:rgba(255,160,0,.12);
  border:1px solid rgba(255,160,0,.3);padding:7px 14px;border-radius:30px;margin-bottom:26px;
}
.badge .dot{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(123,220,181,.2)}
.left h1{
  font-family:"DM Serif Display",serif;font-weight:400;
  font-size:clamp(2.4rem,4vw,3.4rem);line-height:1.05;margin-bottom:18px;
}
.left h1 i{color:var(--brand-2)}
.left p{color:#b7bdca;font-size:1rem;max-width:340px}

.left-bottom{position:relative;z-index:2;margin-top:42px}
.steps{font-size:.8rem;color:#8b92a1;margin-bottom:10px;display:flex;justify-content:space-between}
.steps b{color:#fff}
.bar{height:6px;border-radius:6px;background:rgba(255,255,255,.1);overflow:hidden}
.bar i{display:block;height:100%;width:0;border-radius:6px;
  background:linear-gradient(90deg,var(--brand),var(--brand-2));
  transition:width .4s cubic-bezier(.2,.8,.2,1)}
.left small{display:block;margin-top:26px;color:#6b7280;font-size:.74rem}

/* ===================== RIGHT FORM ===================== */
.right{flex:1;padding:64px clamp(28px,6vw,90px);max-width:780px}
.intro-line{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brand);font-weight:600;margin-bottom:8px}
.right h2{font-family:"DM Serif Display",serif;font-size:2rem;margin-bottom:6px}
.right .lead{color:var(--ink-soft);margin-bottom:14px}

/* success / error banners */
.banner{border-radius:12px;padding:14px 18px;font-size:.9rem;font-weight:500;margin-bottom:30px}
.banner.success{background:#e9f9ef;border:1px solid #b6e6c8;color:#1c7a44}
.banner.error{background:#fdeceb;border:1px solid #f3c2bd;color:#c2410c}
.banner.error ul{margin:6px 0 0 18px}

.field{margin-bottom:30px}
.field .lab{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.field .n{font-size:.78rem;font-weight:700;color:var(--brand);min-width:26px}
.field .q{font-weight:600;font-size:1rem}
.req{color:var(--brand);margin-left:2px}
.hint{font-size:.78rem;color:var(--ink-soft);margin:-4px 0 12px 36px}

.ctrl{margin-left:36px}
input[type=text],input[type=tel],input[type=email],textarea{
  width:100%;background:var(--field-bg);border:1.5px solid var(--line);
  border-radius:12px;padding:14px 16px;font-size:.98rem;font-family:inherit;color:var(--ink);
  transition:border-color .2s,box-shadow .2s;
}
input::placeholder,textarea::placeholder{color:#aab0bb}
input:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(255,87,34,.12)}
textarea{resize:vertical;min-height:88px}

.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{cursor:pointer;position:relative}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{
  display:block;padding:11px 18px;border-radius:12px;background:#fff;
  border:1.5px solid var(--line);font-size:.9rem;font-weight:500;color:var(--ink-soft);
  transition:.16s;
}
.chip:hover span{border-color:var(--brand);color:var(--brand)}
.chip input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff;
  box-shadow:0 10px 22px -10px rgba(255,87,34,.7)}

.toggle{display:flex;gap:12px}
.toggle .chip span{padding:13px 28px;font-weight:600}

.submit{
  display:inline-flex;align-items:center;gap:12px;
  margin-top:6px;background:var(--ink);color:#fff;border:none;
  font-family:"Sora";font-weight:600;font-size:1.02rem;
  padding:17px 40px;border-radius:14px;cursor:pointer;
  transition:.2s;box-shadow:0 16px 30px -14px rgba(0,0,0,.5);
}
.submit:hover{background:var(--brand);gap:18px;box-shadow:0 18px 34px -14px rgba(255,87,34,.7)}
.submit .arr{transition:transform .2s}
.submit:hover .arr{transform:translateX(4px)}

/* SEO content section */
.seo{margin-top:48px;padding-top:34px;border-top:1px solid var(--line)}
.seo h3{font-family:"DM Serif Display",serif;font-weight:400;font-size:1.3rem;margin:22px 0 8px}
.seo h3:first-child{margin-top:0}
.seo p{color:var(--ink-soft);font-size:.92rem;margin-bottom:6px}
.seo ul{color:var(--ink-soft);font-size:.92rem;margin:6px 0 6px 20px}
.seo li{margin-bottom:5px}
.seo strong{color:var(--ink);font-weight:600}

.foot{margin-top:38px;color:var(--ink-soft);font-size:.8rem}

@media(max-width:900px){
  .shell{flex-direction:column}
  .left{position:relative;height:auto;flex:none;max-width:none;padding:44px 32px}
  .brand img{width:170px}
  .left-mid{margin-top:34px}
  .right{padding:44px 28px 70px}
  .hint,.ctrl{margin-left:0}
}
