/* Site-wide mobile reliability layer */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}

@media(max-width:760px){
  .site-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    height:66px!important;
    padding-left:max(14px,env(safe-area-inset-left))!important;
    padding-right:max(14px,env(safe-area-inset-right))!important;
    gap:8px!important;
  }
  .site-header nav{display:none!important}
  .brand{min-width:0!important;max-width:calc(100vw - 96px)!important;gap:9px!important}
  .brand .seal{width:37px!important;height:37px!important;flex:0 0 37px!important}
  .brand strong{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:10px!important;letter-spacing:.065em!important}
  .brand small{display:none!important}
  .actions{justify-self:end!important;display:flex!important;min-width:max-content!important;gap:4px!important}
  .actions .search-btn,.actions .bag{display:none!important}
  .actions button{min-width:48px!important;min-height:44px!important;padding:0 11px!important;touch-action:manipulation!important}
  .menu{display:block!important;min-width:60px!important;border:1px solid rgba(23,22,18,.14)!important;background:rgba(255,250,240,.88)!important}

  .mobile-nav{
    position:fixed!important;
    inset:0!important;
    z-index:999!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100svh!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    transform:translate3d(105%,0,0)!important;
    visibility:hidden!important;
    pointer-events:none!important;
    opacity:0!important;
    transition:transform .28s ease,opacity .18s ease,visibility 0s linear .28s!important;
    padding-top:calc(14px + env(safe-area-inset-top))!important;
    padding-right:max(18px,env(safe-area-inset-right))!important;
    padding-bottom:calc(20px + env(safe-area-inset-bottom))!important;
    padding-left:max(18px,env(safe-area-inset-left))!important;
    background:linear-gradient(145deg,#171612 0%,#211f1b 62%,#2b241c 100%)!important;
  }
  .mobile-nav.open{
    transform:translate3d(0,0,0)!important;
    visibility:visible!important;
    pointer-events:auto!important;
    opacity:1!important;
    transition:transform .28s ease,opacity .18s ease!important;
  }
  .mobile-nav>button{
    align-self:flex-end!important;
    flex:0 0 auto!important;
    min-width:76px!important;
    min-height:44px!important;
    padding:0 13px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.04)!important;
    color:white!important;
    font-size:9px!important;
    font-weight:700!important;
    letter-spacing:.1em!important;
    text-transform:uppercase!important;
  }
  .mobile-nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex:0 0 auto!important;
    min-height:53px!important;
    padding:11px 2px!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
    font:clamp(24px,7vw,30px)/1.05 Georgia,serif!important;
  }
  .mobile-nav a small{flex:0 0 auto!important;align-self:center!important;margin:0!important;color:var(--gold2)!important;font:14px Arial,sans-serif!important}
  .mobile-nav>small{margin-top:18px!important;padding-top:14px!important;padding-bottom:env(safe-area-inset-bottom)!important;font-size:7px!important;line-height:1.55!important}

  body.lock{overflow:hidden!important}

  .drawer{height:100vh!important;height:100dvh!important;padding-bottom:calc(25px + env(safe-area-inset-bottom))!important;overflow-y:auto!important}
  .search{height:100vh!important;height:100dvh!important;padding:calc(18px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom))!important}

  .page,.section,.content-band,.denom-guide,#finder,#first-visit{min-width:0!important;max-width:100%!important}
  .page-hero{min-height:auto!important}
  .page-hero>*,.finder-shell>*,.finder-grid>*,.head>*,.content-intro>*{min-width:0!important}
  .page-hero h1,.home-hero h1{overflow-wrap:break-word!important}

  .section{padding-left:18px!important;padding-right:18px!important}
  .head{align-items:flex-start!important;flex-direction:column!important;gap:18px!important}
  .head h2{font-size:44px!important}

  .products,.category-grid,.split,.faith-grid,.journal-grid,.book-grid,.about-values,.first-visit,.info-grid,.info-grid.two,.info-grid.four,.copy-list{grid-template-columns:minmax(0,1fr)!important}
  .product-visual{height:min(410px,104vw)!important}

  .email{grid-template-columns:minmax(0,1fr)!important;gap:24px!important;padding-left:20px!important;padding-right:20px!important}
  .email form{grid-template-columns:minmax(0,1fr)!important;border-bottom:0!important}
  .email input{width:100%!important;min-width:0!important;font-size:16px!important;border-bottom:1px solid var(--ink)!important}
  .email button{min-height:48px!important;border:1px solid var(--ink)!important;margin-top:8px!important;background:transparent!important}
  .email small{grid-column:auto!important}

  footer{padding-left:20px!important;padding-right:20px!important}
  .footer-main,.footer-bottom{min-width:0!important}
  .links{grid-template-columns:1fr 1fr!important;gap:30px 20px!important}
}

@media(max-width:420px){
  .announcement{min-height:28px!important;padding:6px 9px!important;font-size:7px!important;line-height:1.3!important}
  .site-header{height:62px!important}
  .brand .seal{width:35px!important;height:35px!important;flex-basis:35px!important}
  .brand strong{font-size:9.5px!important;letter-spacing:.045em!important}
  .menu{min-width:58px!important}
  .home-hero h1,.page-hero h1{font-size:clamp(46px,14.5vw,56px)!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .hero-actions .btn{width:100%!important}
  .promise-strip,.links{grid-template-columns:minmax(0,1fr)!important}
}
