.hero{ padding:160px 0 60px; text-align:center; position:relative; }
.hero h1{ font-size:clamp(36px,5.6vw,72px); line-height:1.06; letter-spacing:-.025em; font-weight:600; max-width:800px; margin:0 auto; }
.hero p.sub{ margin:24px auto 0; font-size:19px; line-height:1.65; color:var(--text-muted); max-width:620px; }

.options{ padding:60px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.options-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; }
.opt-card{ background:var(--bg-elev); padding:28px 24px; display:flex; flex-direction:column; gap:8px; }
.opt-icon{ width:26px; height:26px; color:var(--accent); margin-bottom:6px; }
.opt-card h3{ font-size:15px; font-weight:600; }
.opt-card .val{ font-family:'JetBrains Mono', monospace; font-size:13px; color:var(--text); font-weight:600; }
.opt-card p{ font-size:13px; color:var(--text-muted); }
@media (max-width:880px){ .options-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .options-grid{ grid-template-columns:1fr; } }

.main-grid{ padding:90px 0 110px; }
.main-cols{ display:grid; grid-template-columns:320px 1fr; gap:48px; }
.side-block{ margin-bottom:36px; }
.side-block h3{ font-size:17px; font-weight:600; margin-bottom:20px; }
.steps{ display:flex; flex-direction:column; gap:16px; position:relative; padding-left:20px; }
.steps::before{ content:""; position:absolute; left:5px; top:6px; bottom:6px; width:1px; background:var(--border-strong); }
.step{ position:relative; }
.step-dot{ position:absolute; left:-20px; top:6px; width:11px; height:11px; border-radius:999px; background:var(--bg); border:2px solid var(--accent); }
.step p{ font-size:14px; color:var(--text-muted); }

.form-card{ border:1px solid var(--border); border-radius:var(--radius-lg); padding:40px; background:var(--bg-elev); }
.form-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.field{ display:flex; flex-direction:column; gap:6px; position:relative; }
.field.full{ grid-column:span 2; }
.field label{ font-size:13px; font-weight:600; color:var(--text-muted); }
.field input, .field select, .field textarea{
  background:var(--bg-elev-2); border:1px solid var(--border-strong); border-radius:var(--radius-md);
  padding:12px 16px; color:var(--text); font-family:'Inter', sans-serif; font-size:14px; outline:none;
  transition:border-color .2s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--accent); }
.field textarea{ min-height:120px; resize:vertical; }

@media (max-width:820px){ .main-cols{ grid-template-columns:1fr; } .field.full{ grid-column:span 1; } .form-grid{ grid-template-columns:1fr; } }

.modal-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.6); display:none; align-items:center; justify-content:center; z-index:999; padding:20px; }
.modal-overlay.show{ display:flex; }
.modal-card{ background:var(--bg-elev); border:1px solid var(--border); border-radius:var(--radius-lg); padding:44px 40px; max-width:420px; width:100%; text-align:center; position:relative; box-shadow:var(--shadow); animation:modalIn .25s ease; }
@keyframes modalIn{ from{ opacity:0; transform:translateY(12px) scale(.98); } to{ opacity:1; transform:translateY(0) scale(1); } }
.modal-close{ position:absolute; top:16px; right:16px; width:30px; height:30px; border-radius:999px; border:1px solid var(--border-strong); background:transparent; color:var(--text-muted); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:color .2s ease, border-color .2s ease; }
.modal-close svg{ width:14px; height:14px; }
.modal-close:hover{ color:var(--text); border-color:var(--text-muted); }
.modal-icon{ width:56px; height:56px; margin:0 auto 22px; border-radius:999px; display:flex; align-items:center; justify-content:center; }
.modal-icon svg{ width:26px; height:26px; }
.modal-icon.success{ background:var(--accent-2-soft); color:var(--accent-2); }
.modal-icon.error{ background:rgba(220,38,38,.12); color:#DC2626; }
.modal-card h3{ font-size:20px; font-weight:600; margin-bottom:10px; }
.modal-card p{ font-size:14.5px; color:var(--text-muted); line-height:1.6; margin-bottom:26px; }
