.reveal {
  opacity: 1 !important;
  transform: none !important;
}

@media (min-width: 761px) {
  .about {
    grid-template-columns: minmax(0, 55%) minmax(0, 45%) !important;
  }

  .about-copy {
    padding-right: 7vw;
  }
}

.button:disabled {
  cursor: wait;
  filter: saturate(.5);
  opacity: .75;
}

[hidden] {
  display: none !important;
}

.modal-open { overflow: hidden; }
.tool-overlay { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 18px; background: rgba(5, 28, 17, .72); }
.site-tool { width: min(560px, 100%); max-height: min(760px, 92vh); overflow: auto; border-radius: 18px; background: #f7f7f2; box-shadow: 0 28px 100px rgba(0,0,0,.34); }
.site-tool > header { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; color: #fff; background: #173f29; }
.site-tool > header h2 { margin: 0; font: 400 27px Georgia, serif; }
.tool-close { border: 0; color: #fff; background: transparent; cursor: pointer; font-size: 30px; }
.tool-body { padding: 26px; }
.tool-body h3 { margin: 8px 0 18px; color: #173f29; font: 400 29px Georgia, serif; }
.tool-body > p { color: #627067; line-height: 1.6; }
.tool-progress { color: #8a6d00; text-transform: uppercase; letter-spacing: .12em; font-size: 10px; font-weight: 800; }
.tool-options { display: grid; gap: 10px; }
.tool-options button { padding: 15px 16px; border: 1px solid #d4dbd4; border-radius: 9px; color: #173f29; background: #fff; text-align: left; cursor: pointer; font-weight: 650; }
.tool-options button:hover { border-color: #f4c900; background: #fffbea; }
.tool-form { display: grid; gap: 13px; margin-top: 20px; }
.tool-form label { display: grid; gap: 6px; color: #526057; font-size: 12px; font-weight: 700; }
.tool-form input { min-width: 0; border: 1px solid #ccd5cd; border-radius: 8px; padding: 13px; font: inherit; }
.tool-form > button { border: 0; border-radius: 8px; padding: 14px; color: #173f29; background: #f4c900; cursor: pointer; font-weight: 800; }
.tool-form > button:disabled { opacity: .6; }
.tool-consent { grid-template-columns: auto 1fr !important; align-items: start; font-size: 11px !important; }
.tool-consent input { margin: 2px 0 0; }
.tool-result,.calculation-result { border-left: 4px solid #f4c900; border-radius: 4px; padding: 14px; color: #173f29; background: #fff; font-weight: 700; }
.tool-status { min-height: 18px; margin: 0; color: #a44819; font-size: 12px; }
.tool-success { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; color: #fff; background: #173f29; font-size: 26px; }
.calc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.admin-entry { color: #aebdb3; font-size: 11px; text-decoration: none; opacity: .72; }
.admin-entry:hover { color: #fff; opacity: 1; }
.developer-entry { display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; padding: 10px 15px; white-space: nowrap; }

@media (max-width: 560px) {
  .tool-overlay { align-items: end; padding: 0; }
  .site-tool { width: 100%; max-height: 94vh; border-radius: 18px 18px 0 0; }
  .tool-body { padding: 22px 18px; }
  .calc-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}
