/* ── Mobile nav open state ─────────────────────────────────────────────── */
@media (max-width: 680px) {
  .main-nav.is-open {
    display: flex !important;
    flex-direction: column;
    position: absolute;
    top: 84px; left: 0; right: 0;
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    padding: 16px 24px;
    z-index: 49;
    box-shadow: 0 8px 24px rgba(33,24,6,0.12);
  }
  .main-nav.is-open a { margin-right: 0; margin-bottom: 14px; }
  .mobile-menu-btn {
    display: flex;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
  }
  .mobile-menu-btn span {
    display: block; width: 22px; height: 2px;
    background: var(--ink); border-radius: 2px;
  }
}
@media (min-width: 681px) {
  .mobile-menu-btn { display: none; }
}

/* ── Scroll-reveal ─────────────────────────────────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.reveal.is-visible {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
}

/* ── Page hero (inner pages) ───────────────────────────────────────────── */
.page-hero { padding: 72px 0; }

/* ── Form status messages ──────────────────────────────────────────────── */
.form-status { display: none; }
.form-status--success { background: var(--betel-pale); color: var(--betel-deep); }
.form-status--error   { background: #fde8e8; color: #8b1a1a; }
