body { color:#e8e8f0; font-family:var(--site-font); }
button,input,select,textarea { font-family:inherit; }
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible { outline:2px solid #00d68f!important; outline-offset:4px; }
.site-footer-links a { color:#b7b3d0; font-size:14px; text-decoration:none; }
.site-footer-links a:hover { color:#fff; text-decoration:underline; }
.home-section { max-width:1200px; padding:80px 20px; margin:auto; }
.home-section h2 { font-size:clamp(25px,3.5vw,42px); font-weight:700; letter-spacing:-.02em; line-height:1.25; margin:0 0 24px; }
.home-section h3 { font-size:19px; line-height:1.45; margin-bottom:12px; }
.home-section p { line-height:1.75; color:#aaaac0; }
.home-label { color:#a99cf9; text-transform:uppercase; font-size:12px; font-weight:700; letter-spacing:2px; margin-bottom:18px; }
.home-lead { max-width:760px; font-size:18px; margin-bottom:28px; }
.home-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:14px 24px; border-radius:12px; background:linear-gradient(135deg,#6c5ce7,#a855f7); color:#fff; text-decoration:none; font-size:15px; font-weight:600; border:1px solid transparent; cursor:pointer; font-family:inherit; }
.home-button-secondary { background:#191824; border-color:#373144; color:#d5cee9; }
.home-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:28px; }
.home-service { border-top:1px solid #272238; border-bottom:1px solid #272238; background:linear-gradient(130deg,#151121,#0c1515); }
.home-service-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:48px; align-items:start; }
.home-card { min-width:0; border:1px solid #292638; border-radius:18px; background:#12121a; padding:28px; }
.home-card ul { padding-left:19px; color:#b6b3c8; line-height:1.8; }
.home-card li+li { margin-top:12px; }
.home-note { font-size:13px; margin-top:18px; }
.cta-description {
  position: relative;
  margin: 0 auto 28px;
  color: #b7b3d0;
  font-size: clamp(16px, 2vw, 18px);
  line-height: 1.55;
}
.home-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:34px; }
.home-step-number { display:block; color:#00d68f; font-size:12px; font-weight:700; margin-bottom:20px; }
.home-steps p { font-size:15px; }
.home-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:30px 0; }
.home-stat { padding:24px; border-top:1px solid #4a3b6d; background:#12121a; border-radius:0 0 12px 12px; }
.home-stat strong { display:block; font-size:30px; font-weight:700; color:#fff; margin-bottom:10px; }
.home-stat span { color:#aaaac0; font-size:13px; }
.home-profile { margin:28px 0; }
.home-profile img { display:block; width:100%; max-width:820px; height:auto; border-radius:12px; }
.home-section figcaption { font-size:12px; color:#9292aa; line-height:1.65; margin-top:12px; }
.home-section figcaption a,.home-source-links a,.home-inline-link { color:#b9aaff; }
.home-source-links { display:flex; flex-wrap:wrap; gap:15px 25px; font-size:14px; margin-top:22px; }
.home-reviews { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:32px; align-items:start; }
.home-review { min-width:0; padding:16px; border:1px solid #292638; border-radius:15px; background:#12121a; }
.home-review img { display:block; width:100%; height:auto; border-radius:6px; }
.home-review a { display:block; }
.home-articles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:30px 0; }
.home-article { display:flex; flex-direction:column; padding:25px; min-width:0; border:1px solid #292638; border-radius:15px; color:#e8e8f0; text-decoration:none; background:#12121a; }
.home-article:hover { border-color:#7461a3; }
.home-article h3 { font-size:17px; }
.home-article p { font-size:14px; margin:0 0 20px; }
.home-article span { margin-top:auto; font-size:13px; color:#b9aaff; }
.home-faq details { padding:22px 0; border-bottom:1px solid #292638; }
.home-faq summary { cursor:pointer; color:#e8e8f0; font-size:17px; font-weight:600; line-height:1.6; }
.home-faq p { max-width:850px; margin-top:16px; font-size:15px; }
.site-footer-links { display:flex; justify-content:center; gap:20px; flex-wrap:wrap; margin-bottom:20px; }
.modal-inner { max-height:calc(100dvh - 40px); overflow-y:auto; }
.lead-error { padding:12px; color:#ffbfcd; border:1px solid #754151; border-radius:10px; font-size:14px; line-height:1.6; }
button:disabled { cursor:wait!important; opacity:.6; }
.landing-hero { min-height:100svh; }
.hero-copy { width:min(100%, 900px); min-width:0; }
.hero-title {
  color:#e8e8f0;
  font-size:clamp(24px, calc(6.25vw + 4px), 64px);
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.08;
  margin:0 0 24px;
  overflow-wrap:anywhere;
}
.advantages-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(250px, 100%), 1fr));
  gap:20px;
}
.advantages-grid > div { min-width:0; overflow-wrap:anywhere; }
.steps-container {
  --step-size: 56px;
  position: relative;
}
.timeline-line {
  position: absolute;
  inset: 0 auto 0 calc(var(--step-size) / 2 - 1px);
  width: 2px;
  background: linear-gradient(180deg,#6c5ce7,#a855f7,#00d68f);
  opacity: .3;
}
.timeline-step {
  position: relative;
  display: grid;
  grid-template-columns: var(--step-size) minmax(0, 1fr);
  align-items: start;
  gap: clamp(16px, 3vw, 24px);
  padding-block: 32px;
}
.step-circle {
  height: var(--step-size);
  display: grid;
  place-items: center;
  border: 2px solid #6c5ce7;
  border-radius: 50%;
  background: #12121a;
  color: #6c5ce7;
  font-size: 18px;
  font-weight: 700;
}
@media (max-width: 768px) {
  .steps-container { --step-size: 40px; }
  .timeline-step { padding-block: 20px; }
  .step-circle { font-size: 14px; }
}
.step-title,.advantages-grid h3,.modal-title,#services .home-card h3 { line-height:1.3; }
.modal-title { padding-right:18px; }
@media(max-width:768px) { .advantages-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media(max-width:600px) { .advantages-grid { grid-template-columns:minmax(0, 1fr); } }
@media(max-width:900px) { .home-service-grid { grid-template-columns:1fr; gap:28px; } .home-articles { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .home-section { padding:55px 20px; } .home-section h2 { letter-spacing:-.5px; } .home-lead { font-size:16px; } .home-card { padding:22px; } .home-steps,.home-stats,.home-reviews,.home-articles { grid-template-columns:1fr; gap:16px; } .home-stat { display:flex; gap:20px; align-items:center; } .home-stat strong { min-width:105px; font-size:25px; margin:0; } .home-review { padding:10px; } .home-button { width:100%; } .home-source-links { flex-direction:column; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } }
