/* Shared by the React pages and the standalone journal. Desktop stays intact. */
.mobile-site-header { display:none; }
@media (max-width:760px) {
  html { scroll-padding-top:88px; }
  .mobile-site-header {
    position:sticky; top:0; z-index:100; display:flex; align-items:center;
    justify-content:space-between; width:100%; min-height:76px;
    padding:8px max(20px,env(safe-area-inset-right)) 8px max(20px,env(safe-area-inset-left));
    background:#fffaf2; color:#4b242e; border-bottom:1px solid #e5d4cb;
    font:16px/1.5 Arial,Helvetica,sans-serif;
  }
  .mobile-site-brand { display:flex; align-items:center; gap:10px; min-height:48px; text-decoration:none; color:inherit; }
  .mobile-site-brand img { display:block; width:42px; height:46px; object-fit:contain; }
  .mobile-site-brand span { font-size:15px; letter-spacing:.16em; font-weight:700; }
  .mobile-site-menu { margin:0; padding:0; border:0; }
  .mobile-site-menu summary { display:flex; align-items:center; gap:9px; min-height:48px; min-width:48px; padding:8px; cursor:pointer; list-style:none; font:16px/1.5 Arial,Helvetica,sans-serif; color:#4b242e; }
  .mobile-site-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu-icon { display:flex; flex-direction:column; gap:5px; width:22px; }
  .mobile-menu-icon i { display:block; height:2px; width:22px; background:currentColor; }
  .mobile-site-menu[open] .mobile-menu-icon i:first-child { transform:translateY(7px) rotate(45deg); }
  .mobile-site-menu[open] .mobile-menu-icon i:nth-child(2) { opacity:0; }
  .mobile-site-menu[open] .mobile-menu-icon i:last-child { transform:translateY(-7px) rotate(-45deg); }
  .mobile-site-menu nav { position:absolute; top:100%; left:0; right:0; display:flex; flex-direction:column; gap:2px; padding:12px 20px 20px; max-height:calc(100vh - 76px); max-height:calc(100dvh - 76px); overflow-y:auto; overscroll-behavior:contain; background:#fffaf2; border-bottom:1px solid #e5d4cb; box-shadow:0 12px 20px #4b242e1a; font:16px/1.5 Arial,Helvetica,sans-serif; letter-spacing:normal; text-transform:none; }
  .mobile-site-menu:not([open]) nav { display:none; }
  .mobile-site-menu nav a { display:flex; align-items:center; min-height:48px; padding:10px 14px; border-radius:8px; color:#4b242e; text-decoration:none; overflow-wrap:anywhere; }
  .mobile-site-menu nav a:hover { background:#f3e7de; }
  .mobile-site-menu nav .mobile-journey-link { margin-top:8px; background:#4b242e; color:#fffaf2; font-weight:700; justify-content:center; text-align:center; }
  .mobile-site-header a:focus-visible,.mobile-site-menu summary:focus-visible { outline:3px solid #9b671c; outline-offset:2px; }
  .site-header,.journey-header,.store-page-header,.privacy-header,.journal-desktop-header,[data-desktop-header] { display:none; }
}
