:root{
  --ink:#101a38;
  --muted:#66708c;
  --cyan:#25c9dc;
  --purple:#6962ed;
  --pink:#e457c5;
  --green:#13a87d;
  --red:#ca4d69;
  --amber:#b67a1b;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  min-height:100vh;

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  color:var(--ink);

  background:
    radial-gradient(
      circle at 8% 10%,
      rgba(38,204,220,.18),
      transparent 31%
    ),
    radial-gradient(
      circle at 92% 34%,
      rgba(112,91,240,.17),
      transparent 36%
    ),
    radial-gradient(
      circle at 45% 95%,
      rgba(230,86,194,.12),
      transparent 40%
    ),
    linear-gradient(
      155deg,
      #f8fdff 0%,
      #eff7ff 36%,
      #f6f2ff 69%,
      #fff5fb 100%
    );
}

a{
  color:#625be5;
}

.shell{
  width:min(
    1100px,
    calc(100% - 30px)
  );

  margin:0 auto;

  padding:24px 0 60px;
}

.topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;

  padding:12px 15px;

  border-radius:21px;

  border:
    1px solid
    rgba(255,255,255,.86);

  background:
    rgba(255,255,255,.64);

  box-shadow:
    0 14px 40px
    rgba(42,52,105,.07);

  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;

  color:var(--ink);

  text-decoration:none;

  font-weight:900;
}

.mark{
  width:39px;
  height:39px;

  display:grid;
  place-items:center;

  color:#fff;

  border-radius:13px;

  background:
    linear-gradient(
      135deg,
      var(--cyan),
      var(--purple) 53%,
      var(--pink)
    );
}

.nav{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.nav a{
  padding:8px 10px;

  border-radius:10px;

  color:var(--ink);

  font-size:11px;

  font-weight:800;

  text-decoration:none;
}

.hero{
  margin-top:18px;

  padding:
    clamp(
      29px,
      6vw,
      62px
    );

  border-radius:30px;

  border:
    1px solid
    rgba(255,255,255,.9);

  background:
    rgba(255,255,255,.73);

  box-shadow:
    0 27px 72px
    rgba(43,53,107,.09);

  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

.kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;

  padding:7px 11px;

  border-radius:999px;

  background:
    rgba(255,255,255,.65);

  font-size:9px;

  font-weight:900;

  letter-spacing:.14em;
}

.kicker i{
  width:8px;
  height:8px;

  border-radius:50%;

  background:#2bd5aa;
}

.hero h1{
  margin:17px 0 0;

  font-size:
    clamp(
      40px,
      7.5vw,
      76px
    );

  line-height:.96;

  letter-spacing:-.055em;
}

.gradient{
  background:
    linear-gradient(
      105deg,
      var(--cyan),
      var(--purple) 51%,
      var(--pink)
    );

  -webkit-background-clip:text;
  background-clip:text;

  color:transparent;
}

.hero p{
  max-width:770px;

  margin:
    20px 0 0;

  color:var(--muted);

  font-size:14px;

  line-height:1.75;
}

.grid{
  display:grid;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    );

  gap:13px;

  margin-top:18px;
}

.card,
.section{
  border:
    1px solid
    rgba(255,255,255,.87);

  background:
    rgba(255,255,255,.72);

  box-shadow:
    0 15px 42px
    rgba(42,52,102,.06);

  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.card{
  padding:20px;

  border-radius:20px;
}

.card strong{
  display:block;

  margin-bottom:7px;
}

.card p{
  margin:0;

  color:var(--muted);

  font-size:12px;

  line-height:1.65;
}

.section{
  margin-top:17px;

  padding:
    clamp(
      22px,
      4vw,
      38px
    );

  border-radius:24px;
}

.section h2{
  margin:
    0 0 12px;

  font-size:
    clamp(
      24px,
      4vw,
      36px
    );

  letter-spacing:-.04em;
}

.section h3{
  margin:
    22px 0 7px;

  font-size:15px;
}

.section p,
.section li{
  color:var(--muted);

  font-size:12px;

  line-height:1.75;
}

.section li + li{
  margin-top:7px;
}

.safe{
  padding:16px;

  margin-top:15px;

  border-radius:15px;

  background:
    rgba(31,190,147,.075);

  border:
    1px solid
    rgba(31,190,147,.13);
}

.avoid{
  padding:16px;

  margin-top:10px;

  border-radius:15px;

  background:
    rgba(202,77,105,.055);

  border:
    1px solid
    rgba(202,77,105,.10);
}

.form-grid{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:12px;
}

.field{
  display:grid;
  gap:6px;
}

.field.full{
  grid-column:
    1 / -1;
}

label{
  font-size:11px;

  font-weight:850;

  color:#49516e;
}

input,
select,
textarea{
  width:100%;

  border:
    1px solid
    rgba(71,82,137,.15);

  border-radius:13px;

  background:
    rgba(255,255,255,.84);

  color:var(--ink);

  font:inherit;

  font-size:13px;

  outline:none;
}

input,
select{
  min-height:47px;

  padding:0 13px;
}

textarea{
  min-height:135px;

  padding:12px 13px;

  resize:vertical;
}

input:focus,
select:focus,
textarea:focus{
  border-color:
    rgba(104,96,235,.42);

  box-shadow:
    0 0 0 4px
    rgba(104,96,235,.07);
}

.check{
  display:flex;
  align-items:flex-start;

  gap:9px;

  margin-top:15px;

  color:var(--muted);

  font-size:11px;

  line-height:1.55;
}

.check input{
  width:17px;
  height:17px;

  min-height:auto;

  flex:0 0 auto;

  margin-top:1px;
}

.submit{
  margin-top:17px;

  min-height:49px;

  padding:0 18px;

  border:0;

  border-radius:14px;

  color:#fff;

  font-weight:900;

  cursor:pointer;

  background:
    linear-gradient(
      110deg,
      var(--cyan),
      var(--purple) 52%,
      var(--pink)
    );

  box-shadow:
    0 10px 27px
    rgba(96,84,229,.22);
}

.submit[disabled]{
  opacity:.55;

  cursor:not-allowed;
}

.result{
  display:none;

  margin-top:15px;

  padding:14px;

  border-radius:14px;

  font-size:12px;

  line-height:1.6;
}

.result.ok{
  display:block;

  color:#087458;

  background:
    rgba(31,190,147,.09);
}

.result.error{
  display:block;

  color:#a23e57;

  background:
    rgba(202,77,105,.08);
}

.hp{
  position:absolute!important;
  left:-10000px!important;

  width:1px!important;
  height:1px!important;

  overflow:hidden!important;
}

.footer{
  padding:30px 12px 5px;

  text-align:center;

  color:#747c95;

  font-size:10px;

  line-height:1.7;
}

@media(max-width:760px){

  .shell{
    width:
      calc(100% - 18px);

    padding-top:9px;
  }

  .topbar{
    border-radius:16px;
  }

  .nav a{
    font-size:9px;

    padding:6px;
  }

  .hero{
    border-radius:22px;
  }

  .grid{
    grid-template-columns:1fr;
  }

  .form-grid{
    grid-template-columns:1fr;
  }

  .field.full{
    grid-column:auto;
  }

  .section{
    border-radius:19px;
  }

}
