/* Shared responsive navigation. Each page keeps its own desktop design. */
.mobile-menu-toggle { display:none; }

@media (max-width: 740px) {
  .nav { position:relative; z-index:30; gap:0 !important; }
  .mobile-menu-toggle { display:inline-flex; width:40px; height:40px; margin-left:8px; padding:0; flex-direction:column; align-items:center; justify-content:center; gap:5px; background:transparent; border:1px solid currentColor; color:inherit; cursor:pointer; }
  .mobile-menu-toggle span { display:block; width:15px; height:1px; background:currentColor; }
  .nav .nav-contact { display:inline-flex !important; min-height:40px; margin-left:auto; padding:0 13px !important; align-items:center; justify-content:center; border-radius:999px !important; line-height:1 !important; white-space:nowrap; }
  .nav > .nav-links, .nav > nav { display:none !important; position:absolute; top:calc(100% + 9px); left:0; right:0; padding:12px 18px; flex-direction:column; align-items:stretch; gap:0; background:#fbf8f1; color:#203e34; border:1px solid rgba(32,62,52,.22); box-shadow:0 16px 32px rgba(17,35,28,.16); }
  .nav.is-menu-open > .nav-links, .nav.is-menu-open > nav { display:flex !important; }
  .nav > .nav-links a, .nav > nav a { display:block; padding:13px 0; color:#203e34 !important; border-bottom:1px solid rgba(32,62,52,.13); font-size:11px !important; }
  .nav > .nav-links a:last-child, .nav > nav a:last-child { border-bottom:0; }

  /* Content rows with a desktop number column must become a true vertical
     sequence on small screens; otherwise the heading and copy overlap. */
  .logic-step, .principle, .engagement { grid-template-columns:1fr !important; }
  .logic-step > *, .principle > *, .engagement > * { grid-column:1 !important; }
  .logic-step .number, .principle .number, .engagement-number { margin-top:0; }
  .engagement a { justify-self:start !important; }
}

/* Prevent the MSE comparison cards from retaining a desktop minimum width. */
.reframe-grid { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; }
.trajectory { min-width:0; }
.trajectory p { overflow-wrap:anywhere; }
@media (max-width: 780px) { .reframe-grid { grid-template-columns:minmax(0, 1fr) !important; } }

/* One consistent desktop contact action across every page. */
@media (min-width: 741px) {
  .nav .nav-cta,
  .nav .contact-button {
    min-height: 38px !important;
    padding: 0 16px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1 !important;
    white-space: nowrap;
  }

  .nav .contact-button span { display: none !important; }
}
