.methodology {
  background: #fff;
}

.methodology-head {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  align-items: end;
  gap: 60px;
}

.methodology-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 13px;
  margin-top: 48px;
}

.methodology-grid article {
  min-height: 235px;
  padding: 25px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fbf9ff;
}

.methodology-grid article:nth-child(2) {
  background: #fff8ef;
}

.methodology-grid article:nth-child(3) {
  background: #f3faef;
}

.methodology-grid article:nth-child(4) {
  background: #eef8fe;
}

.methodology-grid b {
  color: var(--purple);
  font-size: 11px;
}

.methodology-grid h3 {
  margin: 55px 0 10px;
  font-family: Fredoka, Nunito, sans-serif;
  font-size: 23px;
}

.methodology-grid p {
  margin: 0;
  color: var(--soft);
  font-size: 12px;
  line-height: 1.65;
}

.methodology-cycle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  margin-top: 22px;
  padding: 20px;
  border-radius: 18px;
  color: var(--purple-deep);
  background: var(--lavender);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.methodology-cycle i {
  color: var(--orange);
  font-style: normal;
}

@media (max-width: 900px) {
  .methodology-head {
    grid-template-columns: 1fr;
    gap: 20px;
  }

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

@media (max-width: 600px) {
  .methodology-grid {
    grid-template-columns: 1fr;
  }

  .methodology-grid article {
    min-height: 190px;
  }

  .methodology-grid h3 {
    margin-top: 36px;
  }

  .methodology-cycle {
    flex-wrap: wrap;
    gap: 10px;
    font-size: 9px;
  }
}

.school-contact {
  background: var(--cream);
}

.school-contact-grid {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  align-items: start;
  gap: 70px;
}

.contact-highlights {
  display: grid;
  gap: 11px;
  margin-top: 28px;
}

.contact-highlights span {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--soft);
  font-size: 12px;
  font-weight: 800;
}

.contact-highlights span::before {
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--green);
  content: "✓";
  font-size: 10px;
}

.demo-contact-note {
  max-width: 470px;
  margin: 28px 0 0;
  color: #7b725f;
  font-size: 10px;
  line-height: 1.6;
}

.school-contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px;
  padding: 32px;
  border: 1px solid #eadfc8;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(86, 68, 31, .1);
}

.school-field {
  display: grid;
  gap: 8px;
}

.school-field-full,
.school-contact-submit,
.school-form-status {
  grid-column: 1 / -1;
}

.school-field label {
  color: var(--ink);
  font-size: 10px;
  font-weight: 900;
}

.school-field input,
.school-field select,
.school-field textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #ded8ca;
  border-radius: 13px;
  color: var(--ink);
  background: #fffefb;
  font: inherit;
  font-size: 12px;
}

.school-field textarea {
  min-height: 115px;
  resize: vertical;
}

.school-field input:focus-visible,
.school-field select:focus-visible,
.school-field textarea:focus-visible,
.school-contact-submit:focus-visible {
  outline: 3px solid rgba(112, 65, 216, .28);
  outline-offset: 3px;
}

.school-contact-submit {
  width: 100%;
  margin-top: 3px;
}

.school-form-status {
  min-height: 18px;
  margin: 0;
  color: var(--green);
  font-size: 10px;
  font-weight: 800;
  text-align: center;
}

.whatsapp-float {
  position: fixed;
  z-index: 120;
  right: 18px;
  bottom: 18px;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  color: #fff;
  background: #25a866;
  box-shadow: 0 10px 25px rgba(22, 95, 58, .24);
  font-size: 18px;
  font-weight: 900;
}

.whatsapp-float:hover {
  transform: translateY(-2px);
}

.whatsapp-float img {
  width: 23px;
  height: 23px;
  filter: brightness(0) invert(1);
}

@media (max-width: 900px) {
  .school-contact-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }
}

@media (max-width: 600px) {
  .school-contact-form {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  .school-field-full,
  .school-contact-submit,
  .school-form-status {
    grid-column: 1;
  }

  .whatsapp-float {
    right: 12px;
    bottom: 12px;
    width: 38px;
    height: 38px;
    border-width: 2px;
  }

  .whatsapp-float img { width: 20px; height: 20px; }
}
