html, body {
  margin: 0; padding: 0;
  font-family: 'Courier New', Courier, monospace;
  background: #051D44;
  color: #eaefff;
  scroll-behavior: smooth;
}
body { position: relative; }

.hero {
  position: relative;
  height: 91vh;
  min-height: 690px;
  background: #0a245a;
  /* Модный зернистый фон */
  background-image:
    repeating-linear-gradient(120deg, #102c50 0 12px, #1f3660 12px 15px),
    repeating-linear-gradient(30deg, #14306b 0 19px, #102c4b 19px 27px),
    url('data:image/svg+xml;utf8,<svg width="500" height="500" xmlns="http://www.w3.org/2000/svg"><filter id="noise"><feTurbulence baseFrequency="0.9" /></filter><rect width="500" height="500" fill="navy" filter="url(%23noise)"/></svg>');
  background-blend-mode: overlay;
  overflow: hidden;
  display: flex;
  align-items: center;
}

#heroCanvas {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%; z-index: 1; display: block; pointer-events:none;
}

.hero-content {
  position: relative;
  z-index: 2;
  pointer-events: auto;
  padding: 100px 0 72px 0;
  text-align: center; color: #e5f3ff;
  background: rgba(10,36,90,0.68);
  border: 4px solid #5e86d6;
  box-shadow: 0 12px 44px rgba(83, 122, 230, 0.28);
  max-width: 660px; margin: 0 auto;
}

.hero-content h1 {
  font-size: 3.6rem; font-weight: 900; margin-bottom: 28px; color: #f1fbff;
  text-shadow: 0 2px 9px #062040;
}
.hero-content p {
  font-size: 1.35rem; margin-bottom: 33px; color: #7dcffd; font-weight: 700;
}

.cta-btn {
  background: #061d48;
  color: #7dcffd;
  padding: 22px 52px;
  font-size: 1.18rem; font-weight: 700; border-radius: 0;
  border: 5px solid #7dcffd;
  text-decoration: none;
  cursor: pointer;
  display: inline-block;
  margin-bottom: 10px;margin-top:0;
  transition: background .2s, color .2s, border-color .2s;
}
.cta-btn:active { background: #244598; color: #fff; border-color: #fff; }
.cta-btn:hover { background: #162e60; color: #fff; border-color: #56abff; }

.section-title { text-align: left; font-size: 2.15rem; color: #9dcdff; margin-bottom: 38px; letter-spacing: -1px; border-left: .48em solid #7dcffd; padding-left: 18px;}

.container { max-width: 1170px; margin:0 auto; padding: 0 24px; }

/* FEATURES */
.features-grid {
  display: flex;
  gap: 36px;
  flex-wrap: wrap;
}
.feature {
  background: #163c75;
  border: 4px solid #7dcffd;
  padding: 44px 22px;
  flex: 1 1 290px; min-width: 270px;
  color: #eafffe; margin: 0 0 18px 0;
  font-size: 1.16rem;
  box-shadow: 6px 7px 0 #222b43;
}

.feature h3 { color: #7dcffd; font-size: 1.3rem; margin-bottom: 13px; font-weight: 800; }

.program-list {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
  gap: 18px; list-style: none; margin: 38px 0 24px; padding:0;
}
.program-list li {
  background: #14306b; color: #bee7f7;
  padding: 17px 30px; font-size: 1rem;
  border: 4px solid #7dcffd;
  font-weight: bold; box-shadow: 2px 3px #273953;
}

.royalty-table {
  width: 100%; margin: 27px 0 12px 0;
  border-collapse: collapse;
  background: #102c50;
  border: 4px solid #7dcffd;
}
.royalty-table th, .royalty-table td {
  padding: 20px 26px; font-size: 1.12rem; text-align: left; text-transform: uppercase;
  border-bottom: 2px solid #184877;
  font-family: 'Courier New', Courier, monospace;
}
.royalty-table th { background: #183b72; color: #7dcffd; }
.royalty-table td { color: #d0e6ff; background: #0b254b; }

.infotext { color: #7dcffd; font-weight:bold; text-align:left; margin:22px 0; font-size:1.1rem;}

.journey-list { margin:0;padding:0;}
.journey-step {
  padding: 28px 44px 24px 16px;
  background:#0b254b;
  border-left: 6px solid #56abff;
  margin-bottom: 23px; position:relative;
  color: #eaffff; font-size: 1.15rem; font-family:'Courier New',monospace;
  font-weight: bold;
  opacity: 1;
}

.step-title { font-size: 1.15rem; color:#7dcffd; font-weight:900; display:block; margin-bottom:9px;}
.step-desc { color:#bee7f7; font-size:1.08rem;}

.apply form {
  display:flex; gap:15px; flex-wrap:wrap; justify-content:left; margin-top:30px;
}
.apply input, .apply button {
  padding:19px 22px; font-size:1.1rem; border-radius:0; border:5px solid #7dcffd; margin-bottom:9px;
  background: #142740; color:#fff; font-family:'Courier New',Courier,monospace;
}
.apply button {
  background:#061d48;color:#7dcffd;font-weight:bold;
}
.contact-text { color:#7dcffd; text-align:left; margin:18px 0; font-size:1.13rem;}

footer {
  background:#0a245a; color:#bcdaff; padding:43px 0 40px; font-size:1rem;
  border-top: 8px double #7dcffd;
}
.footer-main { display:flex; justify-content:space-between;flex-wrap:wrap;align-items:center; }
.footer-logo { font-size:1.35rem; font-weight:800; color:#7dcffd; letter-spacing:.06em;}
.footer-links a { color: #7dcffd; margin-right: 22px; text-decoration: none; font-weight: bold; transition: color 0.13s;border-bottom:2px solid #7dcffd;}
.footer-links a:hover { color: #bee7f7; border-color:#bee7f7;}

.footer-social img { width:32px;margin-right:18px;opacity:0.94;vertical-align:middle;}

@media (max-width: 950px) {
  .section-title{font-size:1.17rem;}
  .hero-content h1{font-size:2.1rem;}
  .features-grid{flex-direction:column;gap:18px;}
  .program-list{grid-template-columns:1fr;}
  .container{padding:0 7px;}
}
